ReactHorizontalScrollView.smali
.class public Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;
.super Landroid/widget/HorizontalScrollView;
.source "SourceFile"
# interfaces
.implements Lcom/facebook/react/uimanager/ReactClippingViewGroup;
# static fields
.field private static final CONTENT_OFFSET_LEFT:Ljava/lang/String; = "contentOffsetLeft"
.field private static final CONTENT_OFFSET_TOP:Ljava/lang/String; = "contentOffsetTop"
.field private static sScrollerField:Ljava/lang/reflect/Field; = null
.field private static sTriedToGetScrollerField:Z = false
# instance fields
.field private mActivelyScrolling:Z
.field private mClippingRect:Landroid/graphics/Rect;
.field private mDecelerationRate:F
.field private mDisableIntervalMomentum:Z
.field private mDragging:Z
.field private mEndBackground:Landroid/graphics/drawable/Drawable;
.field private mEndFillColor:I
.field private mFpsListener:Lcom/facebook/react/views/scroll/FpsListener;
.field private final mOnScrollDispatchHelper:Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;
.field private mOverflow:Ljava/lang/String;
.field private mPagedArrowScrolling:Z
.field private mPagingEnabled:Z
.field private mPostTouchRunnable:Ljava/lang/Runnable;
.field private mReactBackgroundManager:Lcom/facebook/react/views/view/ReactViewBackgroundManager;
.field private final mRect:Landroid/graphics/Rect;
.field private mRemoveClippedSubviews:Z
.field private mScrollEnabled:Z
.field private mScrollPerfTag:Ljava/lang/String;
.field private final mScroller:Landroid/widget/OverScroller;
.field private mSendMomentumEvents:Z
.field private mSnapInterval:I
.field private mSnapOffsets:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private mSnapToEnd:Z
.field private mSnapToStart:Z
.field private mStateWrapper:Lcom/facebook/react/uimanager/StateWrapper;
.field private final mTempRect:Landroid/graphics/Rect;
.field private final mVelocityHelper:Lcom/facebook/react/views/scroll/VelocityHelper;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
const/4 v0, 0x0
.line 1
invoke-direct {p0, p1, v0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;-><init>(Landroid/content/Context;Lcom/facebook/react/views/scroll/FpsListener;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Lcom/facebook/react/views/scroll/FpsListener;)V
.registers 5
.line 2
invoke-direct {p0, p1}, Landroid/widget/HorizontalScrollView;-><init>(Landroid/content/Context;)V
.line 3
new-instance p1, Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;
invoke-direct {p1}, Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;-><init>()V
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mOnScrollDispatchHelper:Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;
.line 4
new-instance p1, Lcom/facebook/react/views/scroll/VelocityHelper;
invoke-direct {p1}, Lcom/facebook/react/views/scroll/VelocityHelper;-><init>()V
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mVelocityHelper:Lcom/facebook/react/views/scroll/VelocityHelper;
.line 5
new-instance p1, Landroid/graphics/Rect;
invoke-direct {p1}, Landroid/graphics/Rect;-><init>()V
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mRect:Landroid/graphics/Rect;
const-string p1, "hidden"
.line 6
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mOverflow:Ljava/lang/String;
const/4 p1, 0x0
.line 7
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagingEnabled:Z
const/4 v0, 0x1
.line 8
iput-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScrollEnabled:Z
const/4 v1, 0x0
.line 9
iput-object v1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mFpsListener:Lcom/facebook/react/views/scroll/FpsListener;
.line 10
iput p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mEndFillColor:I
.line 11
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mDisableIntervalMomentum:Z
.line 12
iput p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapInterval:I
const v1, 0x3f7c28f6 # 0.985f
.line 13
iput v1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mDecelerationRate:F
.line 14
iput-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapToStart:Z
.line 15
iput-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapToEnd:Z
.line 16
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagedArrowScrolling:Z
.line 17
new-instance p1, Landroid/graphics/Rect;
invoke-direct {p1}, Landroid/graphics/Rect;-><init>()V
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mTempRect:Landroid/graphics/Rect;
.line 18
new-instance p1, Lcom/facebook/react/views/view/ReactViewBackgroundManager;
invoke-direct {p1, p0}, Lcom/facebook/react/views/view/ReactViewBackgroundManager;-><init>(Landroid/view/View;)V
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mReactBackgroundManager:Lcom/facebook/react/views/view/ReactViewBackgroundManager;
.line 19
iput-object p2, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mFpsListener:Lcom/facebook/react/views/scroll/FpsListener;
.line 20
invoke-direct {p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->getOverScrollerFromParent()Landroid/widget/OverScroller;
move-result-object p1
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScroller:Landroid/widget/OverScroller;
return-void
.end method
.method public static synthetic access$000(Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;)Z
.registers 1
iget-boolean p0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mActivelyScrolling:Z
return p0
.end method
.method public static synthetic access$002(Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;Z)Z
.registers 2
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mActivelyScrolling:Z
return p1
.end method
.method public static synthetic access$100(Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;II)V
.registers 3
invoke-direct {p0, p1, p2}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->updateStateOnScroll(II)V
return-void
.end method
.method public static synthetic access$200(Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;)Z
.registers 1
iget-boolean p0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagingEnabled:Z
return p0
.end method
.method public static synthetic access$300(Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;I)V
.registers 2
invoke-direct {p0, p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->flingAndSnap(I)V
return-void
.end method
.method public static synthetic access$400(Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;)Z
.registers 1
iget-boolean p0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSendMomentumEvents:Z
return p0
.end method
.method public static synthetic access$502(Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;Ljava/lang/Runnable;)Ljava/lang/Runnable;
.registers 2
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPostTouchRunnable:Ljava/lang/Runnable;
return-object p1
.end method
.method public static synthetic access$600(Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;)V
.registers 1
invoke-direct {p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->disableFpsListener()V
return-void
.end method
.method private disableFpsListener()V
.registers 3
.line 1
invoke-direct {p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->isScrollPerfLoggingEnabled()Z
move-result v0
if-eqz v0, :cond_17
.line 2
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mFpsListener:Lcom/facebook/react/views/scroll/FpsListener;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScrollPerfTag:Ljava/lang/String;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mFpsListener:Lcom/facebook/react/views/scroll/FpsListener;
iget-object v1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScrollPerfTag:Ljava/lang/String;
invoke-interface {v0, v1}, Lcom/facebook/react/views/scroll/FpsListener;->disable(Ljava/lang/String;)V
:cond_17
return-void
.end method
.method private enableFpsListener()V
.registers 3
.line 1
invoke-direct {p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->isScrollPerfLoggingEnabled()Z
move-result v0
if-eqz v0, :cond_17
.line 2
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mFpsListener:Lcom/facebook/react/views/scroll/FpsListener;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScrollPerfTag:Ljava/lang/String;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mFpsListener:Lcom/facebook/react/views/scroll/FpsListener;
iget-object v1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScrollPerfTag:Ljava/lang/String;
invoke-interface {v0, v1}, Lcom/facebook/react/views/scroll/FpsListener;->enable(Ljava/lang/String;)V
:cond_17
return-void
.end method
.method private flingAndSnap(I)V
.registers 21
move-object/from16 v0, p0
.line 1
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v1
if-gtz v1, :cond_9
return-void
.line 2
:cond_9
iget v1, v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapInterval:I
if-nez v1, :cond_15
iget-object v1, v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapOffsets:Ljava/util/List;
if-nez v1, :cond_15
.line 3
invoke-direct/range {p0 .. p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->smoothScrollAndSnap(I)V
return-void
.line 4
:cond_15
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->computeHorizontalScrollRange()I
move-result v1
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getWidth()I
move-result v2
sub-int/2addr v1, v2
const/4 v2, 0x0
invoke-static {v2, v1}, Ljava/lang/Math;->max(II)I
move-result v1
.line 5
invoke-direct/range {p0 .. p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->predictFinalScrollPosition(I)I
move-result v3
.line 6
iget-boolean v4, v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mDisableIntervalMomentum:Z
if-eqz v4, :cond_2f
.line 7
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getScrollX()I
move-result v3
.line 8
:cond_2f
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getWidth()I
move-result v4
sget-object v5, Landroidx/core/view/y;->a:Ljava/util/WeakHashMap;
.line 9
invoke-static/range {p0 .. p0}, Landroidx/core/view/y$d;->f(Landroid/view/View;)I
move-result v5
sub-int/2addr v4, v5
.line 10
invoke-static/range {p0 .. p0}, Landroidx/core/view/y$d;->e(Landroid/view/View;)I
move-result v5
sub-int/2addr v4, v5
.line 11
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v5
sget v6, Landroidx/core/text/f;->a:I
.line 12
invoke-static {v5}, Landroidx/core/text/f$a;->a(Ljava/util/Locale;)I
move-result v5
const/4 v6, 0x1
if-ne v5, v6, :cond_4e
const/4 v5, 0x1
goto :goto_4f
:cond_4e
const/4 v5, 0x0
:goto_4f
if-eqz v5, :cond_57
sub-int v3, v1, v3
move/from16 v7, p1
neg-int v7, v7
goto :goto_59
:cond_57
move/from16 v7, p1
.line 13
:goto_59
iget-object v8, v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapOffsets:Ljava/util/List;
if-eqz v8, :cond_a4
.line 14
invoke-interface {v8, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v8
check-cast v8, Ljava/lang/Integer;
invoke-virtual {v8}, Ljava/lang/Integer;->intValue()I
move-result v8
.line 15
iget-object v9, v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapOffsets:Ljava/util/List;
invoke-interface {v9}, Ljava/util/List;->size()I
move-result v10
sub-int/2addr v10, v6
invoke-interface {v9, v10}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/lang/Integer;
invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
move-result v6
const/4 v9, 0x0
const/4 v10, 0x0
move v11, v1
.line 16
:goto_7b
iget-object v12, v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapOffsets:Ljava/util/List;
invoke-interface {v12}, Ljava/util/List;->size()I
move-result v12
if-ge v9, v12, :cond_c0
.line 17
iget-object v12, v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapOffsets:Ljava/util/List;
invoke-interface {v12, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v12
check-cast v12, Ljava/lang/Integer;
invoke-virtual {v12}, Ljava/lang/Integer;->intValue()I
move-result v12
if-gt v12, v3, :cond_98
sub-int v13, v3, v12
sub-int v14, v3, v10
if-ge v13, v14, :cond_98
move v10, v12
:cond_98
if-lt v12, v3, :cond_a1
sub-int v13, v12, v3
sub-int v14, v11, v3
if-ge v13, v14, :cond_a1
move v11, v12
:cond_a1
add-int/lit8 v9, v9, 0x1
goto :goto_7b
.line 18
:cond_a4
invoke-direct/range {p0 .. p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->getSnapInterval()I
move-result v6
int-to-double v8, v6
int-to-double v10, v3
div-double/2addr v10, v8
.line 19
invoke-static {v10, v11}, Ljava/lang/Math;->floor(D)D
move-result-wide v12
mul-double v12, v12, v8
double-to-int v6, v12
.line 20
invoke-static {v10, v11}, Ljava/lang/Math;->ceil(D)D
move-result-wide v10
mul-double v10, v10, v8
double-to-int v8, v10
invoke-static {v8, v1}, Ljava/lang/Math;->min(II)I
move-result v11
const/4 v8, 0x0
move v10, v6
move v6, v1
:cond_c0
sub-int v9, v3, v10
sub-int v12, v11, v3
if-ge v9, v12, :cond_c8
move v13, v10
goto :goto_c9
:cond_c8
move v13, v11
.line 21
:goto_c9
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getScrollX()I
move-result v14
if-eqz v5, :cond_d1
sub-int v14, v1, v14
.line 22
:cond_d1
iget-boolean v15, v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapToEnd:Z
if-nez v15, :cond_dc
if-lt v3, v6, :cond_dc
if-lt v14, v6, :cond_da
goto :goto_fc
:cond_da
move v3, v6
goto :goto_fc
.line 23
:cond_dc
iget-boolean v6, v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapToStart:Z
if-nez v6, :cond_e7
if-gt v3, v8, :cond_e7
if-gt v14, v8, :cond_e5
goto :goto_fc
:cond_e5
move v3, v8
goto :goto_fc
:cond_e7
const-wide/high16 v14, 0x4024000000000000L # 10.0
if-lez v7, :cond_f2
int-to-double v8, v12
mul-double v8, v8, v14
double-to-int v3, v8
add-int/2addr v7, v3
move v3, v11
goto :goto_fc
:cond_f2
if-gez v7, :cond_fb
int-to-double v8, v9
mul-double v8, v8, v14
double-to-int v3, v8
sub-int/2addr v7, v3
move v3, v10
goto :goto_fc
:cond_fb
move v3, v13
.line 24
:goto_fc
invoke-static {v2, v3}, Ljava/lang/Math;->max(II)I
move-result v2
invoke-static {v2, v1}, Ljava/lang/Math;->min(II)I
move-result v2
if-eqz v5, :cond_109
sub-int v2, v1, v2
neg-int v7, v7
:cond_109
move v14, v2
.line 25
iget-object v8, v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScroller:Landroid/widget/OverScroller;
if-eqz v8, :cond_13f
const/4 v2, 0x1
.line 26
iput-boolean v2, v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mActivelyScrolling:Z
.line 27
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getScrollX()I
move-result v9
.line 28
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getScrollY()I
move-result v10
if-eqz v7, :cond_11d
move v11, v7
goto :goto_124
.line 29
:cond_11d
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getScrollX()I
move-result v2
sub-int v2, v14, v2
move v11, v2
:goto_124
const/4 v12, 0x0
const/4 v15, 0x0
const/16 v16, 0x0
if-eqz v14, :cond_131
if-ne v14, v1, :cond_12d
goto :goto_131
:cond_12d
const/4 v1, 0x0
const/16 v17, 0x0
goto :goto_135
.line 30
:cond_131
:goto_131
div-int/lit8 v4, v4, 0x2
move/from16 v17, v4
:goto_135
const/16 v18, 0x0
move v13, v14
.line 31
invoke-virtual/range {v8 .. v18}, Landroid/widget/OverScroller;->fling(IIIIIIIIII)V
.line 32
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->postInvalidateOnAnimation()V
goto :goto_146
.line 33
:cond_13f
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getScrollY()I
move-result v1
invoke-virtual {v0, v14, v1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->reactSmoothScrollTo(II)V
:goto_146
return-void
.end method
.method private getOverScrollerFromParent()Landroid/widget/OverScroller;
.registers 5
.line 1
sget-boolean v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->sTriedToGetScrollerField:Z
const-string v1, "ReactNative"
if-nez v0, :cond_1c
const/4 v0, 0x1
.line 2
sput-boolean v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->sTriedToGetScrollerField:Z
.line 3
:try_start_9
const-class v2, Landroid/widget/HorizontalScrollView;
const-string v3, "mScroller"
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
sput-object v2, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->sScrollerField:Ljava/lang/reflect/Field;
.line 4
invoke-virtual {v2, v0}, Ljava/lang/reflect/AccessibleObject;->setAccessible(Z)V
:try_end_16
.catch Ljava/lang/NoSuchFieldException; {:try_start_9 .. :try_end_16} :catch_17
goto :goto_1c
:catch_17
const-string v0, "Failed to get mScroller field for HorizontalScrollView! This app will exhibit the bounce-back scrolling bug :("
.line 5
invoke-static {v1, v0}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 6
:cond_1c
:goto_1c
sget-object v0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->sScrollerField:Ljava/lang/reflect/Field;
const/4 v2, 0x0
if-eqz v0, :cond_3c
.line 7
:try_start_21
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 8
instance-of v3, v0, Landroid/widget/OverScroller;
if-eqz v3, :cond_2d
.line 9
check-cast v0, Landroid/widget/OverScroller;
move-object v2, v0
goto :goto_3c
:cond_2d
const-string v0, "Failed to cast mScroller field in HorizontalScrollView (probably due to OEM changes to AOSP)! This app will exhibit the bounce-back scrolling bug :("
.line 10
invoke-static {v1, v0}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
:try_end_32
.catch Ljava/lang/IllegalAccessException; {:try_start_21 .. :try_end_32} :catch_33
goto :goto_3c
:catch_33
move-exception v0
.line 11
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "Failed to get mScroller from HorizontalScrollView!"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
:cond_3c
:goto_3c
return-object v2
.end method
.method private getScrollDelta(Landroid/view/View;)I
.registers 3
.line 1
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p1, v0}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
.line 2
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1, v0}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 3
iget-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1}, Landroid/widget/HorizontalScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I
move-result p1
return p1
.end method
.method private getSnapInterval()I
.registers 2
.line 1
iget v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapInterval:I
if-eqz v0, :cond_5
return v0
.line 2
:cond_5
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
return v0
.end method
.method private handlePostTouchScrolling(II)V
.registers 5
.line 1
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSendMomentumEvents:Z
if-nez v0, :cond_f
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagingEnabled:Z
if-nez v0, :cond_f
invoke-direct {p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->isScrollPerfLoggingEnabled()Z
move-result v0
if-nez v0, :cond_f
return-void
.line 2
:cond_f
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPostTouchRunnable:Ljava/lang/Runnable;
if-eqz v0, :cond_14
return-void
.line 3
:cond_14
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSendMomentumEvents:Z
if-eqz v0, :cond_1b
.line 4
invoke-static {p0, p1, p2}, Lcom/facebook/react/views/scroll/ReactScrollViewHelper;->emitScrollMomentumBeginEvent(Landroid/view/ViewGroup;II)V
:cond_1b
const/4 p1, 0x0
.line 5
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mActivelyScrolling:Z
.line 6
new-instance p1, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView$1;
invoke-direct {p1, p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView$1;-><init>(Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;)V
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPostTouchRunnable:Ljava/lang/Runnable;
const-wide/16 v0, 0x14
.line 7
sget-object p2, Landroidx/core/view/y;->a:Ljava/util/WeakHashMap;
.line 8
invoke-static {p0, p1, v0, v1}, Landroidx/core/view/y$c;->n(Landroid/view/View;Ljava/lang/Runnable;J)V
return-void
.end method
.method private isMostlyScrolledInView(Landroid/view/View;)Z
.registers 4
.line 1
invoke-direct {p0, p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->getScrollDelta(Landroid/view/View;)I
move-result v0
.line 2
iget-object v1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p1, v1}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
if-eqz v0, :cond_1b
.line 3
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result p1
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v0
div-int/lit8 v0, v0, 0x2
if-ge p1, v0, :cond_1b
const/4 p1, 0x1
goto :goto_1c
:cond_1b
const/4 p1, 0x0
:goto_1c
return p1
.end method
.method private isPartiallyScrolledInView(Landroid/view/View;)Z
.registers 4
.line 1
invoke-direct {p0, p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->getScrollDelta(Landroid/view/View;)I
move-result v0
.line 2
iget-object v1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p1, v1}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
if-eqz v0, :cond_19
.line 3
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result p1
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v0
if-ge p1, v0, :cond_19
const/4 p1, 0x1
goto :goto_1a
:cond_19
const/4 p1, 0x0
:goto_1a
return p1
.end method
.method private isScrollPerfLoggingEnabled()Z
.registers 2
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mFpsListener:Lcom/facebook/react/views/scroll/FpsListener;
if-eqz v0, :cond_10
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScrollPerfTag:Ljava/lang/String;
if-eqz v0, :cond_10
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
move-result v0
if-nez v0, :cond_10
const/4 v0, 0x1
goto :goto_11
:cond_10
const/4 v0, 0x0
:goto_11
return v0
.end method
.method private isScrolledInView(Landroid/view/View;)Z
.registers 2
invoke-direct {p0, p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->getScrollDelta(Landroid/view/View;)I
move-result p1
if-nez p1, :cond_8
const/4 p1, 0x1
goto :goto_9
:cond_8
const/4 p1, 0x0
:goto_9
return p1
.end method
.method private predictFinalScrollPosition(I)I
.registers 14
.line 1
new-instance v11, Landroid/widget/OverScroller;
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
invoke-direct {v11, v0}, Landroid/widget/OverScroller;-><init>(Landroid/content/Context;)V
.line 2
iget v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mDecelerationRate:F
const/high16 v1, 0x3f800000 # 1.0f
sub-float/2addr v1, v0
invoke-virtual {v11, v1}, Landroid/widget/OverScroller;->setFriction(F)V
.line 3
invoke-virtual {p0}, Landroid/view/View;->computeHorizontalScrollRange()I
move-result v0
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v1
sub-int/2addr v0, v1
const/4 v1, 0x0
invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I
move-result v6
.line 4
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
sget-object v1, Landroidx/core/view/y;->a:Ljava/util/WeakHashMap;
.line 5
invoke-static {p0}, Landroidx/core/view/y$d;->f(Landroid/view/View;)I
move-result v1
sub-int/2addr v0, v1
.line 6
invoke-static {p0}, Landroidx/core/view/y$d;->e(Landroid/view/View;)I
move-result v1
sub-int/2addr v0, v1
.line 7
invoke-virtual {p0}, Landroid/view/View;->getScrollX()I
move-result v1
.line 8
invoke-virtual {p0}, Landroid/view/View;->getScrollY()I
move-result v2
const/4 v4, 0x0
const/4 v5, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
div-int/lit8 v9, v0, 0x2
const/4 v10, 0x0
move-object v0, v11
move v3, p1
.line 9
invoke-virtual/range {v0 .. v10}, Landroid/widget/OverScroller;->fling(IIIIIIIIII)V
.line 10
invoke-virtual {v11}, Landroid/widget/OverScroller;->getFinalX()I
move-result p1
return p1
.end method
.method private scrollToChild(Landroid/view/View;)V
.registers 3
.line 1
invoke-direct {p0, p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->getScrollDelta(Landroid/view/View;)I
move-result p1
if-eqz p1, :cond_a
const/4 v0, 0x0
.line 2
invoke-virtual {p0, p1, v0}, Landroid/view/View;->scrollBy(II)V
:cond_a
return-void
.end method
.method private smoothScrollAndSnap(I)V
.registers 13
.line 1
invoke-direct {p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->getSnapInterval()I
move-result v0
int-to-double v0, v0
.line 2
invoke-virtual {p0}, Landroid/view/View;->getScrollX()I
move-result v2
int-to-double v2, v2
.line 3
invoke-direct {p0, p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->predictFinalScrollPosition(I)I
move-result v4
int-to-double v4, v4
div-double v6, v2, v0
.line 4
invoke-static {v6, v7}, Ljava/lang/Math;->floor(D)D
move-result-wide v8
double-to-int v8, v8
.line 5
invoke-static {v6, v7}, Ljava/lang/Math;->ceil(D)D
move-result-wide v9
double-to-int v9, v9
.line 6
invoke-static {v6, v7}, Ljava/lang/Math;->round(D)J
move-result-wide v6
long-to-int v7, v6
div-double/2addr v4, v0
.line 7
invoke-static {v4, v5}, Ljava/lang/Math;->round(D)J
move-result-wide v4
long-to-int v5, v4
if-lez p1, :cond_2d
if-ne v9, v8, :cond_2d
add-int/lit8 v9, v9, 0x1
goto :goto_33
:cond_2d
if-gez p1, :cond_33
if-ne v8, v9, :cond_33
add-int/lit8 v8, v8, -0x1
:cond_33
:goto_33
if-lez p1, :cond_3b
if-ge v7, v9, :cond_3b
if-le v5, v8, :cond_3b
move v7, v9
goto :goto_42
:cond_3b
if-gez p1, :cond_42
if-le v7, v8, :cond_42
if-ge v5, v9, :cond_42
move v7, v8
:cond_42
:goto_42
int-to-double v4, v7
mul-double v4, v4, v0
cmpl-double p1, v4, v2
if-eqz p1, :cond_54
const/4 p1, 0x1
.line 8
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mActivelyScrolling:Z
double-to-int p1, v4
.line 9
invoke-virtual {p0}, Landroid/view/View;->getScrollY()I
move-result v0
invoke-virtual {p0, p1, v0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->reactSmoothScrollTo(II)V
:cond_54
return-void
.end method
.method private smoothScrollToNextPage(I)V
.registers 5
.line 1
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
.line 2
invoke-virtual {p0}, Landroid/view/View;->getScrollX()I
move-result v1
.line 3
div-int v2, v1, v0
.line 4
rem-int/2addr v1, v0
if-eqz v1, :cond_f
add-int/lit8 v2, v2, 0x1
:cond_f
const/16 v1, 0x11
if-ne p1, v1, :cond_16
add-int/lit8 v2, v2, -0x1
goto :goto_18
:cond_16
add-int/lit8 v2, v2, 0x1
:goto_18
const/4 p1, 0x0
if-gez v2, :cond_1c
const/4 v2, 0x0
:cond_1c
mul-int v2, v2, v0
.line 5
invoke-virtual {p0}, Landroid/view/View;->getScrollY()I
move-result v0
invoke-virtual {p0, v2, v0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->reactSmoothScrollTo(II)V
.line 6
invoke-direct {p0, p1, p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->handlePostTouchScrolling(II)V
return-void
.end method
.method private updateStateOnScroll(II)V
.registers 6
.line 1
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mStateWrapper:Lcom/facebook/react/uimanager/StateWrapper;
if-nez v0, :cond_5
return-void
.line 2
:cond_5
new-instance v0, Lcom/facebook/react/bridge/WritableNativeMap;
invoke-direct {v0}, Lcom/facebook/react/bridge/WritableNativeMap;-><init>()V
int-to-float p1, p1
.line 3
invoke-static {p1}, Lcom/facebook/react/uimanager/PixelUtil;->toDIPFromPixel(F)F
move-result p1
float-to-double v1, p1
const-string p1, "contentOffsetLeft"
invoke-interface {v0, p1, v1, v2}, Lcom/facebook/react/bridge/WritableMap;->putDouble(Ljava/lang/String;D)V
int-to-float p1, p2
.line 4
invoke-static {p1}, Lcom/facebook/react/uimanager/PixelUtil;->toDIPFromPixel(F)F
move-result p1
float-to-double p1, p1
const-string v1, "contentOffsetTop"
invoke-interface {v0, v1, p1, p2}, Lcom/facebook/react/bridge/WritableMap;->putDouble(Ljava/lang/String;D)V
.line 5
iget-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mStateWrapper:Lcom/facebook/react/uimanager/StateWrapper;
invoke-interface {p1, v0}, Lcom/facebook/react/uimanager/StateWrapper;->updateState(Lcom/facebook/react/bridge/WritableMap;)V
return-void
.end method
# virtual methods
.method public addFocusables(Ljava/util/ArrayList;II)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Landroid/view/View;",
">;II)V"
}
.end annotation
.line 1
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagingEnabled:Z
if-eqz v0, :cond_36
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagedArrowScrolling:Z
if-nez v0, :cond_36
.line 2
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 3
invoke-super {p0, v0, p2, p3}, Landroid/view/ViewGroup;->addFocusables(Ljava/util/ArrayList;II)V
.line 4
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object p2
:cond_14
:goto_14
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result p3
if-eqz p3, :cond_39
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p3
check-cast p3, Landroid/view/View;
.line 5
invoke-direct {p0, p3}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->isScrolledInView(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_32
.line 6
invoke-direct {p0, p3}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->isPartiallyScrolledInView(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_32
.line 7
invoke-virtual {p3}, Landroid/view/View;->isFocused()Z
move-result v0
if-eqz v0, :cond_14
.line 8
:cond_32
invoke-virtual {p1, p3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_14
.line 9
:cond_36
invoke-super {p0, p1, p2, p3}, Landroid/view/ViewGroup;->addFocusables(Ljava/util/ArrayList;II)V
:cond_39
return-void
.end method
.method public arrowScroll(I)Z
.registers 7
.line 1
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagingEnabled:Z
if-eqz v0, :cond_43
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagedArrowScrolling:Z
.line 3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v1
const/4 v2, 0x0
if-lez v1, :cond_3f
.line 4
invoke-virtual {p0}, Landroid/view/View;->findFocus()Landroid/view/View;
move-result-object v1
.line 5
invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder;
move-result-object v3
invoke-virtual {v3, p0, v1, p1}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
move-result-object v1
.line 6
invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v3
if-eqz v3, :cond_3b
if-eqz v1, :cond_3b
.line 7
invoke-virtual {v1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v4
if-ne v4, v3, :cond_3b
.line 8
invoke-direct {p0, v1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->isScrolledInView(Landroid/view/View;)Z
move-result v3
if-nez v3, :cond_37
invoke-direct {p0, v1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->isMostlyScrolledInView(Landroid/view/View;)Z
move-result v3
if-nez v3, :cond_37
.line 9
invoke-direct {p0, p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->smoothScrollToNextPage(I)V
.line 10
:cond_37
invoke-virtual {v1}, Landroid/view/View;->requestFocus()Z
goto :goto_40
.line 11
:cond_3b
invoke-direct {p0, p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->smoothScrollToNextPage(I)V
goto :goto_40
:cond_3f
const/4 v0, 0x0
.line 12
:goto_40
iput-boolean v2, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagedArrowScrolling:Z
goto :goto_47
.line 13
:cond_43
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->arrowScroll(I)Z
move-result v0
:goto_47
return v0
.end method
.method public draw(Landroid/graphics/Canvas;)V
.registers 7
.line 1
iget v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mEndFillColor:I
if-eqz v0, :cond_2f
const/4 v0, 0x0
.line 2
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v1
.line 3
iget-object v2, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mEndBackground:Landroid/graphics/drawable/Drawable;
if-eqz v2, :cond_2f
if-eqz v1, :cond_2f
invoke-virtual {v1}, Landroid/view/View;->getRight()I
move-result v2
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v3
if-ge v2, v3, :cond_2f
.line 4
iget-object v2, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mEndBackground:Landroid/graphics/drawable/Drawable;
invoke-virtual {v1}, Landroid/view/View;->getRight()I
move-result v1
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v3
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v4
invoke-virtual {v2, v1, v0, v3, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
.line 5
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mEndBackground:Landroid/graphics/drawable/Drawable;
invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V
.line 6
:cond_2f
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->draw(Landroid/graphics/Canvas;)V
return-void
.end method
.method public executeKeyEvent(Landroid/view/KeyEvent;)Z
.registers 4
.line 1
invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v0
.line 2
iget-boolean v1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScrollEnabled:Z
if-nez v1, :cond_12
const/16 v1, 0x15
if-eq v0, v1, :cond_10
const/16 v1, 0x16
if-ne v0, v1, :cond_12
:cond_10
const/4 p1, 0x0
return p1
.line 3
:cond_12
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->executeKeyEvent(Landroid/view/KeyEvent;)Z
move-result p1
return p1
.end method
.method public flashScrollIndicators()V
.registers 1
invoke-virtual {p0}, Landroid/view/View;->awakenScrollBars()Z
return-void
.end method
.method public fling(I)V
.registers 14
.line 1
invoke-static {p1}, Ljava/lang/Math;->abs(I)I
move-result p1
int-to-float p1, p1
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mOnScrollDispatchHelper:Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;
invoke-virtual {v0}, Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;->getXFlingVelocity()F
move-result v0
invoke-static {v0}, Ljava/lang/Math;->signum(F)F
move-result v0
mul-float v0, v0, p1
float-to-int p1, v0
.line 2
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagingEnabled:Z
if-eqz v0, :cond_1a
.line 3
invoke-direct {p0, p1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->flingAndSnap(I)V
goto :goto_4d
.line 4
:cond_1a
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScroller:Landroid/widget/OverScroller;
if-eqz v0, :cond_4a
.line 5
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
sget-object v1, Landroidx/core/view/y;->a:Ljava/util/WeakHashMap;
.line 6
invoke-static {p0}, Landroidx/core/view/y$d;->f(Landroid/view/View;)I
move-result v1
sub-int/2addr v0, v1
.line 7
invoke-static {p0}, Landroidx/core/view/y$d;->e(Landroid/view/View;)I
move-result v1
sub-int/2addr v0, v1
.line 8
iget-object v1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScroller:Landroid/widget/OverScroller;
.line 9
invoke-virtual {p0}, Landroid/view/View;->getScrollX()I
move-result v2
.line 10
invoke-virtual {p0}, Landroid/view/View;->getScrollY()I
move-result v3
const/4 v5, 0x0
const/4 v6, 0x0
const v7, 0x7fffffff
const/4 v8, 0x0
const/4 v9, 0x0
div-int/lit8 v10, v0, 0x2
const/4 v11, 0x0
move v4, p1
.line 11
invoke-virtual/range {v1 .. v11}, Landroid/widget/OverScroller;->fling(IIIIIIIIII)V
.line 12
invoke-static {p0}, Landroidx/core/view/y$c;->k(Landroid/view/View;)V
goto :goto_4d
.line 13
:cond_4a
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->fling(I)V
:goto_4d
const/4 v0, 0x0
.line 14
invoke-direct {p0, p1, v0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->handlePostTouchScrolling(II)V
return-void
.end method
.method public getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z
.registers 5
.line 1
sget-boolean v0, Lcom/facebook/react/config/ReactFeatureFlags;->clipChildRectsIfOverflowIsHidden:Z
if-eqz v0, :cond_b
.line 2
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mOverflow:Ljava/lang/String;
invoke-static {p1, p2, p3, p0, v0}, Lcom/facebook/react/uimanager/ReactClippingViewGroupHelper;->getChildVisibleRectHelper(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Landroid/view/View;Ljava/lang/String;)Z
move-result p1
goto :goto_f
.line 3
:cond_b
invoke-super {p0, p1, p2, p3}, Landroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z
move-result p1
:goto_f
return p1
.end method
.method public getClippingRect(Landroid/graphics/Rect;)V
.registers 3
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mClippingRect:Landroid/graphics/Rect;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/graphics/Rect;
invoke-virtual {p1, v0}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V
return-void
.end method
.method public getRemoveClippedSubviews()Z
.registers 2
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mRemoveClippedSubviews:Z
return v0
.end method
.method public onAttachedToWindow()V
.registers 2
.line 1
invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V
.line 2
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mRemoveClippedSubviews:Z
if-eqz v0, :cond_a
.line 3
invoke-virtual {p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->updateClippingRect()V
:cond_a
return-void
.end method
.method public onDraw(Landroid/graphics/Canvas;)V
.registers 4
.line 1
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mRect:Landroid/graphics/Rect;
invoke-virtual {p0, v0}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
.line 2
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mOverflow:Ljava/lang/String;
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
const-string/jumbo v1, "visible"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_18
.line 3
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mRect:Landroid/graphics/Rect;
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->clipRect(Landroid/graphics/Rect;)Z
.line 4
:cond_18
invoke-super {p0, p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V
return-void
.end method
.method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
.registers 5
.line 1
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScrollEnabled:Z
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
.line 2
:cond_6
:try_start_6
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
move-result v0
if-eqz v0, :cond_21
.line 3
invoke-static {p0, p1}, Lcom/facebook/react/uimanager/events/NativeGestureUtil;->notifyNativeGestureStarted(Landroid/view/View;Landroid/view/MotionEvent;)V
.line 4
invoke-static {p0}, Lcom/facebook/react/views/scroll/ReactScrollViewHelper;->emitScrollBeginDragEvent(Landroid/view/ViewGroup;)V
const/4 p1, 0x1
.line 5
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mDragging:Z
.line 6
invoke-direct {p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->enableFpsListener()V
:try_end_18
.catch Ljava/lang/IllegalArgumentException; {:try_start_6 .. :try_end_18} :catch_19
return p1
:catch_19
move-exception p1
const-string v0, "ReactNative"
const-string v2, "Error intercepting touch event."
.line 7
invoke-static {v0, v2, p1}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_21
return v1
.end method
.method public onLayout(ZIIII)V
.registers 6
invoke-virtual {p0}, Landroid/view/View;->getScrollX()I
move-result p1
invoke-virtual {p0}, Landroid/view/View;->getScrollY()I
move-result p2
invoke-virtual {p0, p1, p2}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->reactScrollTo(II)V
return-void
.end method
.method public onMeasure(II)V
.registers 3
.line 1
invoke-static {p1, p2}, Lcom/facebook/react/uimanager/MeasureSpecAssertions;->assertExplicitMeasureSpec(II)V
.line 2
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result p1
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result p2
.line 3
invoke-virtual {p0, p1, p2}, Landroid/view/View;->setMeasuredDimension(II)V
return-void
.end method
.method public onOverScrolled(IIZZ)V
.registers 7
.line 1
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScroller:Landroid/widget/OverScroller;
if-eqz v0, :cond_29
.line 2
invoke-virtual {v0}, Landroid/widget/OverScroller;->isFinished()Z
move-result v0
if-nez v0, :cond_29
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScroller:Landroid/widget/OverScroller;
invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrX()I
move-result v0
iget-object v1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScroller:Landroid/widget/OverScroller;
invoke-virtual {v1}, Landroid/widget/OverScroller;->getFinalX()I
move-result v1
if-eq v0, v1, :cond_29
.line 3
invoke-virtual {p0}, Landroid/view/View;->computeHorizontalScrollRange()I
move-result v0
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v1
sub-int/2addr v0, v1
if-lt p1, v0, :cond_29
.line 4
iget-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScroller:Landroid/widget/OverScroller;
invoke-virtual {p1}, Landroid/widget/OverScroller;->abortAnimation()V
move p1, v0
.line 5
:cond_29
invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/HorizontalScrollView;->onOverScrolled(IIZZ)V
return-void
.end method
.method public onScrollChanged(IIII)V
.registers 5
.line 1
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/View;->onScrollChanged(IIII)V
const/4 p3, 0x1
.line 2
iput-boolean p3, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mActivelyScrolling:Z
.line 3
iget-object p3, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mOnScrollDispatchHelper:Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;
invoke-virtual {p3, p1, p2}, Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;->onScrollChanged(II)Z
move-result p1
if-eqz p1, :cond_24
.line 4
iget-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mRemoveClippedSubviews:Z
if-eqz p1, :cond_15
.line 5
invoke-virtual {p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->updateClippingRect()V
.line 6
:cond_15
iget-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mOnScrollDispatchHelper:Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;
.line 7
invoke-virtual {p1}, Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;->getXFlingVelocity()F
move-result p1
iget-object p2, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mOnScrollDispatchHelper:Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;
.line 8
invoke-virtual {p2}, Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;->getYFlingVelocity()F
move-result p2
.line 9
invoke-static {p0, p1, p2}, Lcom/facebook/react/views/scroll/ReactScrollViewHelper;->emitScrollEvent(Landroid/view/ViewGroup;FF)V
:cond_24
return-void
.end method
.method public onSizeChanged(IIII)V
.registers 5
.line 1
invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/HorizontalScrollView;->onSizeChanged(IIII)V
.line 2
iget-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mRemoveClippedSubviews:Z
if-eqz p1, :cond_a
.line 3
invoke-virtual {p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->updateClippingRect()V
:cond_a
return-void
.end method
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
.registers 5
.line 1
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScrollEnabled:Z
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
.line 2
:cond_6
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mVelocityHelper:Lcom/facebook/react/views/scroll/VelocityHelper;
invoke-virtual {v0, p1}, Lcom/facebook/react/views/scroll/VelocityHelper;->calculateVelocity(Landroid/view/MotionEvent;)V
.line 3
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
and-int/lit16 v0, v0, 0xff
const/4 v2, 0x1
if-ne v0, v2, :cond_3f
.line 4
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mDragging:Z
if-eqz v0, :cond_3f
.line 5
invoke-virtual {p0}, Landroid/view/View;->getScrollX()I
move-result v0
invoke-virtual {p0}, Landroid/view/View;->getScrollY()I
move-result v2
invoke-direct {p0, v0, v2}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->updateStateOnScroll(II)V
.line 6
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mVelocityHelper:Lcom/facebook/react/views/scroll/VelocityHelper;
invoke-virtual {v0}, Lcom/facebook/react/views/scroll/VelocityHelper;->getXVelocity()F
move-result v0
.line 7
iget-object v2, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mVelocityHelper:Lcom/facebook/react/views/scroll/VelocityHelper;
invoke-virtual {v2}, Lcom/facebook/react/views/scroll/VelocityHelper;->getYVelocity()F
move-result v2
.line 8
invoke-static {p0, v0, v2}, Lcom/facebook/react/views/scroll/ReactScrollViewHelper;->emitScrollEndDragEvent(Landroid/view/ViewGroup;FF)V
.line 9
iput-boolean v1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mDragging:Z
.line 10
invoke-static {v0}, Ljava/lang/Math;->round(F)I
move-result v0
invoke-static {v2}, Ljava/lang/Math;->round(F)I
move-result v1
invoke-direct {p0, v0, v1}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->handlePostTouchScrolling(II)V
.line 11
:cond_3f
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->onTouchEvent(Landroid/view/MotionEvent;)Z
move-result p1
return p1
.end method
.method public pageScroll(I)Z
.registers 3
.line 1
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->pageScroll(I)Z
move-result p1
.line 2
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagingEnabled:Z
if-eqz v0, :cond_e
if-eqz p1, :cond_e
const/4 v0, 0x0
.line 3
invoke-direct {p0, v0, v0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->handlePostTouchScrolling(II)V
:cond_e
return p1
.end method
.method public reactScrollTo(II)V
.registers 3
.line 1
invoke-virtual {p0, p1, p2}, Landroid/view/View;->scrollTo(II)V
.line 2
invoke-direct {p0, p1, p2}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->updateStateOnScroll(II)V
return-void
.end method
.method public reactSmoothScrollTo(II)V
.registers 3
.line 1
invoke-virtual {p0, p1, p2}, Landroid/widget/HorizontalScrollView;->smoothScrollTo(II)V
.line 2
invoke-direct {p0, p1, p2}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->updateStateOnScroll(II)V
return-void
.end method
.method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V
.registers 4
if-eqz p2, :cond_9
.line 1
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagingEnabled:Z
if-nez v0, :cond_9
.line 2
invoke-direct {p0, p2}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->scrollToChild(Landroid/view/View;)V
.line 3
:cond_9
invoke-super {p0, p1, p2}, Landroid/widget/HorizontalScrollView;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
return-void
.end method
.method public setBackgroundColor(I)V
.registers 3
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mReactBackgroundManager:Lcom/facebook/react/views/view/ReactViewBackgroundManager;
invoke-virtual {v0, p1}, Lcom/facebook/react/views/view/ReactViewBackgroundManager;->setBackgroundColor(I)V
return-void
.end method
.method public setBorderColor(IFF)V
.registers 5
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mReactBackgroundManager:Lcom/facebook/react/views/view/ReactViewBackgroundManager;
invoke-virtual {v0, p1, p2, p3}, Lcom/facebook/react/views/view/ReactViewBackgroundManager;->setBorderColor(IFF)V
return-void
.end method
.method public setBorderRadius(F)V
.registers 3
.line 1
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mReactBackgroundManager:Lcom/facebook/react/views/view/ReactViewBackgroundManager;
invoke-virtual {v0, p1}, Lcom/facebook/react/views/view/ReactViewBackgroundManager;->setBorderRadius(F)V
return-void
.end method
.method public setBorderRadius(FI)V
.registers 4
.line 2
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mReactBackgroundManager:Lcom/facebook/react/views/view/ReactViewBackgroundManager;
invoke-virtual {v0, p1, p2}, Lcom/facebook/react/views/view/ReactViewBackgroundManager;->setBorderRadius(FI)V
return-void
.end method
.method public setBorderStyle(Ljava/lang/String;)V
.registers 3
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mReactBackgroundManager:Lcom/facebook/react/views/view/ReactViewBackgroundManager;
invoke-virtual {v0, p1}, Lcom/facebook/react/views/view/ReactViewBackgroundManager;->setBorderStyle(Ljava/lang/String;)V
return-void
.end method
.method public setBorderWidth(IF)V
.registers 4
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mReactBackgroundManager:Lcom/facebook/react/views/view/ReactViewBackgroundManager;
invoke-virtual {v0, p1, p2}, Lcom/facebook/react/views/view/ReactViewBackgroundManager;->setBorderWidth(IF)V
return-void
.end method
.method public setDecelerationRate(F)V
.registers 4
.line 1
iput p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mDecelerationRate:F
.line 2
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScroller:Landroid/widget/OverScroller;
if-eqz v0, :cond_c
const/high16 v1, 0x3f800000 # 1.0f
sub-float/2addr v1, p1
.line 3
invoke-virtual {v0, v1}, Landroid/widget/OverScroller;->setFriction(F)V
:cond_c
return-void
.end method
.method public setDisableIntervalMomentum(Z)V
.registers 2
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mDisableIntervalMomentum:Z
return-void
.end method
.method public setEndFillColor(I)V
.registers 3
.line 1
iget v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mEndFillColor:I
if-eq p1, v0, :cond_f
.line 2
iput p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mEndFillColor:I
.line 3
new-instance p1, Landroid/graphics/drawable/ColorDrawable;
iget v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mEndFillColor:I
invoke-direct {p1, v0}, Landroid/graphics/drawable/ColorDrawable;-><init>(I)V
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mEndBackground:Landroid/graphics/drawable/Drawable;
:cond_f
return-void
.end method
.method public setOverflow(Ljava/lang/String;)V
.registers 2
.line 1
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mOverflow:Ljava/lang/String;
.line 2
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
return-void
.end method
.method public setPagingEnabled(Z)V
.registers 2
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mPagingEnabled:Z
return-void
.end method
.method public setRemoveClippedSubviews(Z)V
.registers 3
if-eqz p1, :cond_d
.line 1
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mClippingRect:Landroid/graphics/Rect;
if-nez v0, :cond_d
.line 2
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
iput-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mClippingRect:Landroid/graphics/Rect;
.line 3
:cond_d
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mRemoveClippedSubviews:Z
.line 4
invoke-virtual {p0}, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->updateClippingRect()V
return-void
.end method
.method public setScrollEnabled(Z)V
.registers 2
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScrollEnabled:Z
return-void
.end method
.method public setScrollPerfTag(Ljava/lang/String;)V
.registers 2
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mScrollPerfTag:Ljava/lang/String;
return-void
.end method
.method public setSendMomentumEvents(Z)V
.registers 2
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSendMomentumEvents:Z
return-void
.end method
.method public setSnapInterval(I)V
.registers 2
iput p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapInterval:I
return-void
.end method
.method public setSnapOffsets(Ljava/util/List;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapOffsets:Ljava/util/List;
return-void
.end method
.method public setSnapToEnd(Z)V
.registers 2
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapToEnd:Z
return-void
.end method
.method public setSnapToStart(Z)V
.registers 2
iput-boolean p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mSnapToStart:Z
return-void
.end method
.method public updateClippingRect()V
.registers 3
.line 1
iget-boolean v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mRemoveClippedSubviews:Z
if-nez v0, :cond_5
return-void
.line 2
:cond_5
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mClippingRect:Landroid/graphics/Rect;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
iget-object v0, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mClippingRect:Landroid/graphics/Rect;
invoke-static {p0, v0}, Lcom/facebook/react/uimanager/ReactClippingViewGroupHelper;->calculateClippingRect(Landroid/view/View;Landroid/graphics/Rect;)V
const/4 v0, 0x0
.line 4
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v0
.line 5
instance-of v1, v0, Lcom/facebook/react/uimanager/ReactClippingViewGroup;
if-eqz v1, :cond_1d
.line 6
check-cast v0, Lcom/facebook/react/uimanager/ReactClippingViewGroup;
invoke-interface {v0}, Lcom/facebook/react/uimanager/ReactClippingViewGroup;->updateClippingRect()V
:cond_1d
return-void
.end method
.method public updateState(Lcom/facebook/react/uimanager/StateWrapper;)V
.registers 2
iput-object p1, p0, Lcom/facebook/react/views/scroll/ReactHorizontalScrollView;->mStateWrapper:Lcom/facebook/react/uimanager/StateWrapper;
return-void
.end method