ReactViewGroup.smali
.class public Lcom/facebook/react/views/view/ReactViewGroup;
.super Landroid/view/ViewGroup;
.source "SourceFile"
# interfaces
.implements Lcom/facebook/react/touch/ReactInterceptingViewGroup;
.implements Lcom/facebook/react/uimanager/ReactClippingViewGroup;
.implements Lcom/facebook/react/uimanager/ReactPointerEventsView;
.implements Lcom/facebook/react/touch/ReactHitSlopView;
.implements Lcom/facebook/react/uimanager/ReactZIndexedViewGroup;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
}
.end annotation
# static fields
.field private static final ARRAY_CAPACITY_INCREMENT:I = 0xc
.field private static final DEFAULT_BACKGROUND_COLOR:I
.field private static final sDefaultLayoutParam:Landroid/view/ViewGroup$LayoutParams;
.field private static final sHelperRect:Landroid/graphics/Rect;
# instance fields
.field private mAllChildren:[Landroid/view/View;
.field private mAllChildrenCount:I
.field private mBackfaceOpacity:F
.field private mBackfaceVisibility:Ljava/lang/String;
.field private mChildrenLayoutChangeListener:Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
.field private mClippingRect:Landroid/graphics/Rect;
.field private final mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
.field private mHitSlopRect:Landroid/graphics/Rect;
.field private mLayoutDirection:I
.field private mNeedsOffscreenAlphaCompositing:Z
.field private mOnInterceptTouchEventListener:Lcom/facebook/react/touch/OnInterceptTouchEventListener;
.field private mOverflow:Ljava/lang/String;
.field private mPath:Landroid/graphics/Path;
.field private mPointerEvents:Lcom/facebook/react/uimanager/PointerEvents;
.field private mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
.field private mRemoveClippedSubviews:Z
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 1
new-instance v0, Landroid/view/ViewGroup$LayoutParams;
const/4 v1, 0x0
invoke-direct {v0, v1, v1}, Landroid/view/ViewGroup$LayoutParams;-><init>(II)V
sput-object v0, Lcom/facebook/react/views/view/ReactViewGroup;->sDefaultLayoutParam:Landroid/view/ViewGroup$LayoutParams;
.line 2
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
sput-object v0, Lcom/facebook/react/views/view/ReactViewGroup;->sHelperRect:Landroid/graphics/Rect;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.line 1
invoke-direct {p0, p1}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;)V
const/4 p1, 0x0
.line 2
iput-boolean p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
const/4 v0, 0x0
.line 3
iput-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
.line 4
sget-object v0, Lcom/facebook/react/uimanager/PointerEvents;->AUTO:Lcom/facebook/react/uimanager/PointerEvents;
iput-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mPointerEvents:Lcom/facebook/react/uimanager/PointerEvents;
.line 5
iput-boolean p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mNeedsOffscreenAlphaCompositing:Z
const/high16 v0, 0x3f800000 # 1.0f
.line 6
iput v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceOpacity:F
const-string/jumbo v0, "visible"
.line 7
iput-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceVisibility:Ljava/lang/String;
.line 8
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setClipChildren(Z)V
.line 9
new-instance p1, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-direct {p1, p0}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;-><init>(Landroid/view/ViewGroup;)V
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
return-void
.end method
.method public static synthetic access$000(Lcom/facebook/react/views/view/ReactViewGroup;Landroid/view/View;)V
.registers 2
invoke-direct {p0, p1}, Lcom/facebook/react/views/view/ReactViewGroup;->updateSubviewClipStatus(Landroid/view/View;)V
return-void
.end method
.method private addInArray(Landroid/view/View;I)V
.registers 7
.line 1
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Landroid/view/View;
.line 2
iget v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
.line 3
array-length v2, v0
const/4 v3, 0x0
if-ne p2, v1, :cond_24
if-ne v2, v1, :cond_1b
add-int/lit8 p2, v2, 0xc
.line 4
new-array p2, p2, [Landroid/view/View;
iput-object p2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
.line 5
invoke-static {v0, v3, p2, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 6
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
.line 7
:cond_1b
iget p2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
add-int/lit8 v1, p2, 0x1
iput v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
aput-object p1, v0, p2
goto :goto_4a
:cond_24
if-ge p2, v1, :cond_4b
if-ne v2, v1, :cond_3c
add-int/lit8 v2, v2, 0xc
.line 8
new-array v2, v2, [Landroid/view/View;
iput-object v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
.line 9
invoke-static {v0, v3, v2, v3, p2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 10
iget-object v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
add-int/lit8 v3, p2, 0x1
sub-int/2addr v1, p2
invoke-static {v0, p2, v2, v3, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 11
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
goto :goto_42
:cond_3c
add-int/lit8 v2, p2, 0x1
sub-int/2addr v1, p2
.line 12
invoke-static {v0, p2, v0, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 13
:goto_42
aput-object p1, v0, p2
.line 14
iget p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
:goto_4a
return-void
.line 15
:cond_4b
new-instance p1, Ljava/lang/IndexOutOfBoundsException;
const-string v0, "index="
const-string v2, " count="
.line 16
invoke-static {v0, p2, v2, v1}, Landroidx/appcompat/view/f;->d(Ljava/lang/String;ILjava/lang/String;I)Ljava/lang/String;
move-result-object p2
.line 17
invoke-direct {p1, p2}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method private dispatchOverflowDraw(Landroid/graphics/Canvas;)V
.registers 21
move-object/from16 v0, p0
move-object/from16 v1, p1
.line 1
iget-object v2, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mOverflow:Ljava/lang/String;
if-eqz v2, :cond_1d1
.line 2
invoke-static {v2}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
const-string v3, "hidden"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_27
const-string/jumbo v1, "visible"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_1e
goto/16 :goto_1d1
.line 3
:cond_1e
iget-object v1, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mPath:Landroid/graphics/Path;
if-eqz v1, :cond_1d1
.line 4
invoke-virtual {v1}, Landroid/graphics/Path;->rewind()V
goto/16 :goto_1d1
.line 5
:cond_27
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getWidth()I
move-result v2
int-to-float v2, v2
.line 6
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getHeight()I
move-result v3
int-to-float v3, v3
.line 7
iget-object v4, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
const/4 v6, 0x1
const/4 v7, 0x0
if-eqz v4, :cond_1c1
.line 8
invoke-virtual {v4}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getDirectionAwareBorderInsets()Landroid/graphics/RectF;
move-result-object v4
.line 9
iget v8, v4, Landroid/graphics/RectF;->top:F
cmpl-float v9, v8, v7
if-gtz v9, :cond_57
iget v9, v4, Landroid/graphics/RectF;->left:F
cmpl-float v9, v9, v7
if-gtz v9, :cond_57
iget v9, v4, Landroid/graphics/RectF;->bottom:F
cmpl-float v9, v9, v7
if-gtz v9, :cond_57
iget v9, v4, Landroid/graphics/RectF;->right:F
cmpl-float v9, v9, v7
if-lez v9, :cond_54
goto :goto_57
:cond_54
const/4 v8, 0x0
const/4 v9, 0x0
goto :goto_61
.line 10
:cond_57
:goto_57
iget v9, v4, Landroid/graphics/RectF;->left:F
add-float/2addr v9, v7
add-float/2addr v8, v7
.line 11
iget v10, v4, Landroid/graphics/RectF;->right:F
sub-float/2addr v2, v10
.line 12
iget v10, v4, Landroid/graphics/RectF;->bottom:F
sub-float/2addr v3, v10
.line 13
:goto_61
iget-object v10, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
invoke-virtual {v10}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getFullBorderRadius()F
move-result v10
.line 14
iget-object v11, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
sget-object v12, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;->TOP_LEFT:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;
.line 15
invoke-virtual {v11, v10, v12}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadiusOrDefaultTo(FLcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v11
.line 16
iget-object v12, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
sget-object v13, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;->TOP_RIGHT:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;
.line 17
invoke-virtual {v12, v10, v13}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadiusOrDefaultTo(FLcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v12
.line 18
iget-object v13, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
sget-object v14, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;->BOTTOM_LEFT:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;
.line 19
invoke-virtual {v13, v10, v14}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadiusOrDefaultTo(FLcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v13
.line 20
iget-object v14, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
sget-object v15, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;->BOTTOM_RIGHT:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;
.line 21
invoke-virtual {v14, v10, v15}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadiusOrDefaultTo(FLcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v10
.line 22
iget v14, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mLayoutDirection:I
if-ne v14, v6, :cond_8d
const/4 v14, 0x1
goto :goto_8e
:cond_8d
const/4 v14, 0x0
.line 23
:goto_8e
iget-object v15, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
sget-object v6, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;->TOP_START:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;
.line 24
invoke-virtual {v15, v6}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadius(Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v6
.line 25
iget-object v15, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
sget-object v5, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;->TOP_END:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;
.line 26
invoke-virtual {v15, v5}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadius(Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v5
.line 27
iget-object v15, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
sget-object v7, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;->BOTTOM_START:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;
.line 28
invoke-virtual {v15, v7}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadius(Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v7
.line 29
iget-object v15, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
move/from16 v17, v10
sget-object v10, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;->BOTTOM_END:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;
.line 30
invoke-virtual {v15, v10}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadius(Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v10
.line 31
invoke-static {}, Lcom/facebook/react/modules/i18nmanager/I18nUtil;->getInstance()Lcom/facebook/react/modules/i18nmanager/I18nUtil;
move-result-object v15
move/from16 v18, v11
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v11
invoke-virtual {v15, v11}, Lcom/facebook/react/modules/i18nmanager/I18nUtil;->doLeftAndRightSwapInRTL(Landroid/content/Context;)Z
move-result v11
if-eqz v11, :cond_f4
.line 32
invoke-static {v6}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v11
if-eqz v11, :cond_c9
move/from16 v11, v18
goto :goto_ca
:cond_c9
move v11, v6
.line 33
:goto_ca
invoke-static {v5}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v6
if-eqz v6, :cond_d1
goto :goto_d2
:cond_d1
move v12, v5
.line 34
:goto_d2
invoke-static {v7}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v5
if-eqz v5, :cond_d9
goto :goto_da
:cond_d9
move v13, v7
.line 35
:goto_da
invoke-static {v10}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v5
if-eqz v5, :cond_e2
move/from16 v10, v17
:cond_e2
if-eqz v14, :cond_e6
move v5, v12
goto :goto_e7
:cond_e6
move v5, v11
:goto_e7
if-eqz v14, :cond_ea
goto :goto_eb
:cond_ea
move v11, v12
:goto_eb
if-eqz v14, :cond_ef
move v6, v10
goto :goto_f0
:cond_ef
move v6, v13
:goto_f0
if-eqz v14, :cond_12d
move v10, v13
goto :goto_12d
:cond_f4
if-eqz v14, :cond_f8
move v11, v5
goto :goto_f9
:cond_f8
move v11, v6
:goto_f9
if-eqz v14, :cond_fc
goto :goto_fd
:cond_fc
move v6, v5
:goto_fd
if-eqz v14, :cond_101
move v5, v10
goto :goto_102
:cond_101
move v5, v7
:goto_102
if-eqz v14, :cond_105
goto :goto_106
:cond_105
move v7, v10
.line 36
:goto_106
invoke-static {v11}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v10
if-nez v10, :cond_10d
goto :goto_10f
:cond_10d
move/from16 v11, v18
.line 37
:goto_10f
invoke-static {v6}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v10
if-nez v10, :cond_116
move v12, v6
.line 38
:cond_116
invoke-static {v5}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v6
if-nez v6, :cond_11d
move v13, v5
.line 39
:cond_11d
invoke-static {v7}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v5
if-nez v5, :cond_128
move v10, v7
move v5, v11
move v11, v12
move v6, v13
goto :goto_12d
:cond_128
move v5, v11
move v11, v12
move v6, v13
move/from16 v10, v17
:cond_12d
:goto_12d
const/4 v7, 0x0
cmpl-float v12, v5, v7
if-gtz v12, :cond_143
cmpl-float v12, v11, v7
if-gtz v12, :cond_143
cmpl-float v12, v10, v7
if-gtz v12, :cond_143
cmpl-float v12, v6, v7
if-lez v12, :cond_13f
goto :goto_143
:cond_13f
move v7, v9
const/4 v5, 0x0
goto/16 :goto_1c7
.line 40
:cond_143
:goto_143
iget-object v7, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mPath:Landroid/graphics/Path;
if-nez v7, :cond_14e
.line 41
new-instance v7, Landroid/graphics/Path;
invoke-direct {v7}, Landroid/graphics/Path;-><init>()V
iput-object v7, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mPath:Landroid/graphics/Path;
.line 42
:cond_14e
iget-object v7, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mPath:Landroid/graphics/Path;
invoke-virtual {v7}, Landroid/graphics/Path;->rewind()V
.line 43
iget-object v7, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mPath:Landroid/graphics/Path;
new-instance v12, Landroid/graphics/RectF;
invoke-direct {v12, v9, v8, v2, v3}, Landroid/graphics/RectF;-><init>(FFFF)V
const/16 v13, 0x8
new-array v13, v13, [F
iget v14, v4, Landroid/graphics/RectF;->left:F
sub-float v14, v5, v14
const/4 v15, 0x0
.line 44
invoke-static {v14, v15}, Ljava/lang/Math;->max(FF)F
move-result v14
const/16 v16, 0x0
aput v14, v13, v16
iget v14, v4, Landroid/graphics/RectF;->top:F
sub-float/2addr v5, v14
.line 45
invoke-static {v5, v15}, Ljava/lang/Math;->max(FF)F
move-result v5
const/4 v14, 0x1
aput v5, v13, v14
const/4 v5, 0x2
iget v14, v4, Landroid/graphics/RectF;->right:F
sub-float v14, v11, v14
.line 46
invoke-static {v14, v15}, Ljava/lang/Math;->max(FF)F
move-result v14
aput v14, v13, v5
const/4 v5, 0x3
iget v14, v4, Landroid/graphics/RectF;->top:F
sub-float/2addr v11, v14
.line 47
invoke-static {v11, v15}, Ljava/lang/Math;->max(FF)F
move-result v11
aput v11, v13, v5
const/4 v5, 0x4
iget v11, v4, Landroid/graphics/RectF;->right:F
sub-float v11, v10, v11
.line 48
invoke-static {v11, v15}, Ljava/lang/Math;->max(FF)F
move-result v11
aput v11, v13, v5
const/4 v5, 0x5
iget v11, v4, Landroid/graphics/RectF;->bottom:F
sub-float/2addr v10, v11
.line 49
invoke-static {v10, v15}, Ljava/lang/Math;->max(FF)F
move-result v10
aput v10, v13, v5
const/4 v5, 0x6
iget v10, v4, Landroid/graphics/RectF;->left:F
sub-float v10, v6, v10
.line 50
invoke-static {v10, v15}, Ljava/lang/Math;->max(FF)F
move-result v10
aput v10, v13, v5
const/4 v5, 0x7
iget v4, v4, Landroid/graphics/RectF;->bottom:F
sub-float/2addr v6, v4
.line 51
invoke-static {v6, v15}, Ljava/lang/Math;->max(FF)F
move-result v4
aput v4, v13, v5
sget-object v4, Landroid/graphics/Path$Direction;->CW:Landroid/graphics/Path$Direction;
.line 52
invoke-virtual {v7, v12, v13, v4}, Landroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;[FLandroid/graphics/Path$Direction;)V
.line 53
iget-object v4, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mPath:Landroid/graphics/Path;
invoke-virtual {v1, v4}, Landroid/graphics/Canvas;->clipPath(Landroid/graphics/Path;)Z
move v7, v9
const/4 v5, 0x1
goto :goto_1c7
:cond_1c1
const/4 v15, 0x0
const/16 v16, 0x0
const/4 v5, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
:goto_1c7
if-nez v5, :cond_1d1
.line 54
new-instance v4, Landroid/graphics/RectF;
invoke-direct {v4, v7, v8, v2, v3}, Landroid/graphics/RectF;-><init>(FFFF)V
invoke-virtual {v1, v4}, Landroid/graphics/Canvas;->clipRect(Landroid/graphics/RectF;)Z
:cond_1d1
:goto_1d1
return-void
.end method
.method private getOrCreateReactViewBackground()Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
.registers 6
.line 1
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
if-nez v0, :cond_45
.line 2
new-instance v0, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
invoke-direct {v0, v1}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
.line 3
invoke-virtual {p0}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
const/4 v1, 0x0
.line 4
invoke-direct {p0, v1}, Lcom/facebook/react/views/view/ReactViewGroup;->updateBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
if-nez v0, :cond_1f
.line 5
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
invoke-direct {p0, v0}, Lcom/facebook/react/views/view/ReactViewGroup;->updateBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
goto :goto_32
.line 6
:cond_1f
new-instance v1, Landroid/graphics/drawable/LayerDrawable;
const/4 v2, 0x2
new-array v2, v2, [Landroid/graphics/drawable/Drawable;
const/4 v3, 0x0
iget-object v4, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
aput-object v4, v2, v3
const/4 v3, 0x1
aput-object v0, v2, v3
invoke-direct {v1, v2}, Landroid/graphics/drawable/LayerDrawable;-><init>([Landroid/graphics/drawable/Drawable;)V
.line 7
invoke-direct {p0, v1}, Lcom/facebook/react/views/view/ReactViewGroup;->updateBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
.line 8
:goto_32
invoke-static {}, Lcom/facebook/react/modules/i18nmanager/I18nUtil;->getInstance()Lcom/facebook/react/modules/i18nmanager/I18nUtil;
move-result-object v0
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/facebook/react/modules/i18nmanager/I18nUtil;->isRTL(Landroid/content/Context;)Z
move-result v0
.line 9
iput v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mLayoutDirection:I
.line 10
iget-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
invoke-virtual {v1, v0}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->setResolvedLayoutDirection(I)Z
.line 11
:cond_45
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
return-object v0
.end method
.method private indexOfChildInAllChildren(Landroid/view/View;)I
.registers 6
.line 1
iget v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
.line 2
iget-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {v1}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, [Landroid/view/View;
const/4 v2, 0x0
:goto_b
if-ge v2, v0, :cond_15
.line 3
aget-object v3, v1, v2
if-ne v3, p1, :cond_12
return v2
:cond_12
add-int/lit8 v2, v2, 0x1
goto :goto_b
:cond_15
const/4 p1, -0x1
return p1
.end method
.method private removeFromArray(I)V
.registers 6
.line 1
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Landroid/view/View;
.line 2
iget v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
add-int/lit8 v2, v1, -0x1
const/4 v3, 0x0
if-ne p1, v2, :cond_16
add-int/lit8 v1, v1, -0x1
.line 3
iput v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
aput-object v3, v0, v1
goto :goto_2a
:cond_16
if-ltz p1, :cond_2b
if-ge p1, v1, :cond_2b
add-int/lit8 v2, p1, 0x1
sub-int/2addr v1, p1
add-int/lit8 v1, v1, -0x1
.line 4
invoke-static {v0, v2, v0, p1, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 5
iget p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
add-int/lit8 p1, p1, -0x1
iput p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
aput-object v3, v0, p1
:goto_2a
return-void
.line 6
:cond_2b
new-instance p1, Ljava/lang/IndexOutOfBoundsException;
invoke-direct {p1}, Ljava/lang/IndexOutOfBoundsException;-><init>()V
throw p1
.end method
.method private updateBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
.registers 2
invoke-super {p0, p1}, Landroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V
return-void
.end method
.method private updateClippingToRect(Landroid/graphics/Rect;)V
.registers 5
.line 1
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const/4 v0, 0x0
const/4 v1, 0x0
.line 2
:goto_7
iget v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
if-ge v0, v2, :cond_1d
.line 3
invoke-direct {p0, p1, v0, v1}, Lcom/facebook/react/views/view/ReactViewGroup;->updateSubviewClipStatus(Landroid/graphics/Rect;II)V
.line 4
iget-object v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
aget-object v2, v2, v0
invoke-virtual {v2}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v2
if-nez v2, :cond_1a
add-int/lit8 v1, v1, 0x1
:cond_1a
add-int/lit8 v0, v0, 0x1
goto :goto_7
:cond_1d
return-void
.end method
.method private updateSubviewClipStatus(Landroid/graphics/Rect;II)V
.registers 10
.line 1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Landroid/view/View;
aget-object v0, v0, p2
.line 3
sget-object v1, Lcom/facebook/react/views/view/ReactViewGroup;->sHelperRect:Landroid/graphics/Rect;
invoke-virtual {v0}, Landroid/view/View;->getLeft()I
move-result v2
invoke-virtual {v0}, Landroid/view/View;->getTop()I
move-result v3
invoke-virtual {v0}, Landroid/view/View;->getRight()I
move-result v4
invoke-virtual {v0}, Landroid/view/View;->getBottom()I
move-result v5
invoke-virtual {v1, v2, v3, v4, v5}, Landroid/graphics/Rect;->set(IIII)V
.line 4
iget v2, v1, Landroid/graphics/Rect;->left:I
iget v3, v1, Landroid/graphics/Rect;->top:I
iget v4, v1, Landroid/graphics/Rect;->right:I
iget v1, v1, Landroid/graphics/Rect;->bottom:I
.line 5
invoke-virtual {p1, v2, v3, v4, v1}, Landroid/graphics/Rect;->intersects(IIII)Z
move-result p1
.line 6
invoke-virtual {v0}, Landroid/view/View;->getAnimation()Landroid/view/animation/Animation;
move-result-object v1
const/4 v2, 0x0
const/4 v3, 0x1
if-eqz v1, :cond_3e
.line 7
invoke-virtual {v1}, Landroid/view/animation/Animation;->hasEnded()Z
move-result v1
if-nez v1, :cond_3e
const/4 v1, 0x1
goto :goto_3f
:cond_3e
const/4 v1, 0x0
:goto_3f
if-nez p1, :cond_4e
.line 8
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v4
if-eqz v4, :cond_4e
if-nez v1, :cond_4e
sub-int/2addr p2, p3
.line 9
invoke-super {p0, p2, v3}, Landroid/view/ViewGroup;->removeViewsInLayout(II)V
goto :goto_62
:cond_4e
if-eqz p1, :cond_60
.line 10
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
if-nez v1, :cond_60
sub-int/2addr p2, p3
.line 11
sget-object p1, Lcom/facebook/react/views/view/ReactViewGroup;->sDefaultLayoutParam:Landroid/view/ViewGroup$LayoutParams;
invoke-super {p0, v0, p2, p1, v3}, Landroid/view/ViewGroup;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z
.line 12
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
goto :goto_62
:cond_60
if-eqz p1, :cond_63
:goto_62
const/4 v2, 0x1
:cond_63
if-eqz v2, :cond_74
.line 13
instance-of p1, v0, Lcom/facebook/react/uimanager/ReactClippingViewGroup;
if-eqz p1, :cond_74
.line 14
check-cast v0, Lcom/facebook/react/uimanager/ReactClippingViewGroup;
.line 15
invoke-interface {v0}, Lcom/facebook/react/uimanager/ReactClippingViewGroup;->getRemoveClippedSubviews()Z
move-result p1
if-eqz p1, :cond_74
.line 16
invoke-interface {v0}, Lcom/facebook/react/uimanager/ReactClippingViewGroup;->updateClippingRect()V
:cond_74
return-void
.end method
.method private updateSubviewClipStatus(Landroid/view/View;)V
.registers 7
.line 17
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
if-eqz v0, :cond_62
invoke-virtual {p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-nez v0, :cond_b
goto :goto_62
.line 18
:cond_b
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 19
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 20
sget-object v0, Lcom/facebook/react/views/view/ReactViewGroup;->sHelperRect:Landroid/graphics/Rect;
invoke-virtual {p1}, Landroid/view/View;->getLeft()I
move-result v1
invoke-virtual {p1}, Landroid/view/View;->getTop()I
move-result v2
invoke-virtual {p1}, Landroid/view/View;->getRight()I
move-result v3
invoke-virtual {p1}, Landroid/view/View;->getBottom()I
move-result v4
invoke-virtual {v0, v1, v2, v3, v4}, Landroid/graphics/Rect;->set(IIII)V
.line 21
iget-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
iget v2, v0, Landroid/graphics/Rect;->left:I
iget v3, v0, Landroid/graphics/Rect;->top:I
iget v4, v0, Landroid/graphics/Rect;->right:I
iget v0, v0, Landroid/graphics/Rect;->bottom:I
.line 22
invoke-virtual {v1, v2, v3, v4, v0}, Landroid/graphics/Rect;->intersects(IIII)Z
move-result v0
.line 23
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
const/4 v2, 0x0
if-eqz v1, :cond_41
const/4 v1, 0x1
goto :goto_42
:cond_41
const/4 v1, 0x0
:goto_42
if-eq v0, v1, :cond_62
const/4 v0, 0x0
.line 24
:goto_45
iget v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
if-ge v2, v1, :cond_62
.line 25
iget-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
aget-object v3, v1, v2
if-ne v3, p1, :cond_55
.line 26
iget-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
invoke-direct {p0, p1, v2, v0}, Lcom/facebook/react/views/view/ReactViewGroup;->updateSubviewClipStatus(Landroid/graphics/Rect;II)V
goto :goto_62
.line 27
:cond_55
aget-object v1, v1, v2
invoke-virtual {v1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
if-nez v1, :cond_5f
add-int/lit8 v0, v0, 0x1
:cond_5f
add-int/lit8 v2, v2, 0x1
goto :goto_45
:cond_62
:goto_62
return-void
.end method
# virtual methods
.method public addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
.registers 5
.line 1
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-virtual {v0, p1}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;->handleAddView(Landroid/view/View;)V
.line 2
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-virtual {v0}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;->shouldEnableCustomDrawingOrder()Z
move-result v0
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setChildrenDrawingOrderEnabled(Z)V
.line 3
invoke-super {p0, p1, p2, p3}, Landroid/view/ViewGroup;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
return-void
.end method
.method public addViewWithSubviewClippingEnabled(Landroid/view/View;I)V
.registers 4
.line 1
sget-object v0, Lcom/facebook/react/views/view/ReactViewGroup;->sDefaultLayoutParam:Landroid/view/ViewGroup$LayoutParams;
invoke-virtual {p0, p1, p2, v0}, Lcom/facebook/react/views/view/ReactViewGroup;->addViewWithSubviewClippingEnabled(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
return-void
.end method
.method public addViewWithSubviewClippingEnabled(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
.registers 6
.line 2
iget-boolean p3, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
invoke-static {p3}, Lcom/facebook/infer/annotation/Assertions;->assertCondition(Z)V
.line 3
iget-object p3, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
invoke-static {p3}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
iget-object p3, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {p3}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 5
invoke-direct {p0, p1, p2}, Lcom/facebook/react/views/view/ReactViewGroup;->addInArray(Landroid/view/View;I)V
const/4 p3, 0x0
const/4 v0, 0x0
:goto_14
if-ge p3, p2, :cond_25
.line 6
iget-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
aget-object v1, v1, p3
invoke-virtual {v1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
if-nez v1, :cond_22
add-int/lit8 v0, v0, 0x1
:cond_22
add-int/lit8 p3, p3, 0x1
goto :goto_14
.line 7
:cond_25
iget-object p3, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
invoke-direct {p0, p3, p2, v0}, Lcom/facebook/react/views/view/ReactViewGroup;->updateSubviewClipStatus(Landroid/graphics/Rect;II)V
.line 8
iget-object p2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mChildrenLayoutChangeListener:Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
invoke-virtual {p1, p2}, Landroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
return-void
.end method
.method public dispatchDraw(Landroid/graphics/Canvas;)V
.registers 5
.line 1
:try_start_0
invoke-direct {p0, p1}, Lcom/facebook/react/views/view/ReactViewGroup;->dispatchOverflowDraw(Landroid/graphics/Canvas;)V
.line 2
invoke-super {p0, p1}, Landroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V
:try_end_6
.catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_6} :catch_2c
.catch Ljava/lang/StackOverflowError; {:try_start_0 .. :try_end_6} :catch_7
goto :goto_34
:catch_7
move-exception p1
.line 3
invoke-static {p0}, Lcom/facebook/react/uimanager/RootViewUtil;->getRootView(Landroid/view/View;)Lcom/facebook/react/uimanager/RootView;
move-result-object v0
if-eqz v0, :cond_12
.line 4
invoke-interface {v0, p1}, Lcom/facebook/react/uimanager/RootView;->handleException(Ljava/lang/Throwable;)V
goto :goto_34
.line 5
:cond_12
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
instance-of v0, v0, Lcom/facebook/react/bridge/ReactContext;
if-eqz v0, :cond_2b
.line 6
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
check-cast v0, Lcom/facebook/react/bridge/ReactContext;
.line 7
new-instance v1, Lcom/facebook/react/uimanager/IllegalViewOperationException;
const-string v2, "StackOverflowException"
invoke-direct {v1, v2, p0, p1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;Landroid/view/View;Ljava/lang/Throwable;)V
invoke-virtual {v0, v1}, Lcom/facebook/react/bridge/ReactContext;->handleException(Ljava/lang/Exception;)V
goto :goto_34
.line 8
:cond_2b
throw p1
:catch_2c
move-exception p1
const-string v0, "ReactNative"
const-string v1, "NullPointerException when executing ViewGroup.dispatchDraw method"
.line 9
invoke-static {v0, v1, p1}, Lcom/facebook/common/logging/FLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_34
return-void
.end method
.method public dispatchProvideStructure(Landroid/view/ViewStructure;)V
.registers 4
.annotation build Landroid/annotation/TargetApi;
value = 0x17
.end annotation
.line 1
:try_start_0
invoke-super {p0, p1}, Landroid/view/ViewGroup;->dispatchProvideStructure(Landroid/view/ViewStructure;)V
:try_end_3
.catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_3} :catch_4
goto :goto_c
:catch_4
move-exception p1
const-string v0, "ReactNative"
const-string v1, "NullPointerException when executing dispatchProvideStructure"
.line 2
invoke-static {v0, v1, p1}, Lcom/facebook/common/logging/FLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_c
return-void
.end method
.method public dispatchSetPressed(Z)V
.registers 2
return-void
.end method
.method public getAllChildrenCount()I
.registers 2
iget v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
return v0
.end method
.method public getBackgroundColor()I
.registers 2
.annotation build Lcom/facebook/react/common/annotations/VisibleForTesting;
.end annotation
.line 1
invoke-virtual {p0}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
if-eqz v0, :cond_11
.line 2
invoke-virtual {p0}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
check-cast v0, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
invoke-virtual {v0}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getColor()I
move-result v0
return v0
:cond_11
const/4 v0, 0x0
return v0
.end method
.method public getChildAtWithSubviewClippingEnabled(I)Landroid/view/View;
.registers 3
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Landroid/view/View;
aget-object p1, v0, p1
return-object p1
.end method
.method public getChildDrawingOrder(II)I
.registers 4
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-virtual {v0, p1, p2}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;->getChildDrawingOrder(II)I
move-result p1
return p1
.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/view/ReactViewGroup;->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/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
invoke-virtual {p1, v0}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V
return-void
.end method
.method public getHitSlopRect()Landroid/graphics/Rect;
.registers 2
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mHitSlopRect:Landroid/graphics/Rect;
return-object v0
.end method
.method public getOverflow()Ljava/lang/String;
.registers 2
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mOverflow:Ljava/lang/String;
return-object v0
.end method
.method public getPointerEvents()Lcom/facebook/react/uimanager/PointerEvents;
.registers 2
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mPointerEvents:Lcom/facebook/react/uimanager/PointerEvents;
return-object v0
.end method
.method public getRemoveClippedSubviews()Z
.registers 2
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
return v0
.end method
.method public getZIndexMappedChildIndex(I)I
.registers 4
.line 1
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-virtual {v0}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;->shouldEnableCustomDrawingOrder()Z
move-result v0
if-eqz v0, :cond_12
.line 2
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v1
invoke-virtual {v0, v1, p1}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;->getChildDrawingOrder(II)I
move-result p1
:cond_12
return p1
.end method
.method public hasOverlappingRendering()Z
.registers 2
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mNeedsOffscreenAlphaCompositing: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/view/ReactViewGroup;->mRemoveClippedSubviews:Z
if-eqz v0, :cond_a
.line 3
invoke-virtual {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->updateClippingRect()V
:cond_a
return-void
.end method
.method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
.registers 5
.line 1
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mOnInterceptTouchEventListener:Lcom/facebook/react/touch/OnInterceptTouchEventListener;
const/4 v1, 0x1
if-eqz v0, :cond_c
.line 2
invoke-interface {v0, p0, p1}, Lcom/facebook/react/touch/OnInterceptTouchEventListener;->onInterceptTouchEvent(Landroid/view/ViewGroup;Landroid/view/MotionEvent;)Z
move-result v0
if-eqz v0, :cond_c
return v1
.line 3
:cond_c
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mPointerEvents:Lcom/facebook/react/uimanager/PointerEvents;
sget-object v2, Lcom/facebook/react/uimanager/PointerEvents;->NONE:Lcom/facebook/react/uimanager/PointerEvents;
if-eq v0, v2, :cond_1c
sget-object v2, Lcom/facebook/react/uimanager/PointerEvents;->BOX_ONLY:Lcom/facebook/react/uimanager/PointerEvents;
if-ne v0, v2, :cond_17
goto :goto_1c
.line 4
:cond_17
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
move-result p1
return p1
:cond_1c
:goto_1c
return v1
.end method
.method public onLayout(ZIIII)V
.registers 6
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 onRtlPropertiesChanged(I)V
.registers 3
.line 1
iget-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
if-eqz p1, :cond_9
.line 2
iget v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mLayoutDirection:I
invoke-virtual {p1, v0}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->setResolvedLayoutDirection(I)Z
:cond_9
return-void
.end method
.method public onSizeChanged(IIII)V
.registers 5
.line 1
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/View;->onSizeChanged(IIII)V
.line 2
iget-boolean p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
if-eqz p1, :cond_a
.line 3
invoke-virtual {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->updateClippingRect()V
:cond_a
return-void
.end method
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
.registers 3
iget-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mPointerEvents:Lcom/facebook/react/uimanager/PointerEvents;
sget-object v0, Lcom/facebook/react/uimanager/PointerEvents;->NONE:Lcom/facebook/react/uimanager/PointerEvents;
if-eq p1, v0, :cond_d
sget-object v0, Lcom/facebook/react/uimanager/PointerEvents;->BOX_NONE:Lcom/facebook/react/uimanager/PointerEvents;
if-ne p1, v0, :cond_b
goto :goto_d
:cond_b
const/4 p1, 0x1
return p1
:cond_d
:goto_d
const/4 p1, 0x0
return p1
.end method
.method public removeAllViewsWithSubviewClippingEnabled()V
.registers 5
.line 1
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertCondition(Z)V
.line 2
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const/4 v0, 0x0
const/4 v1, 0x0
.line 3
:goto_c
iget v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
if-ge v1, v2, :cond_1c
.line 4
iget-object v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
aget-object v2, v2, v1
iget-object v3, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mChildrenLayoutChangeListener:Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
invoke-virtual {v2, v3}, Landroid/view/View;->removeOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
add-int/lit8 v1, v1, 0x1
goto :goto_c
.line 5
:cond_1c
invoke-virtual {p0}, Landroid/view/ViewGroup;->removeAllViewsInLayout()V
.line 6
iput v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
return-void
.end method
.method public removeView(Landroid/view/View;)V
.registers 3
.line 1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-virtual {v0, p1}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;->handleRemoveView(Landroid/view/View;)V
.line 3
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-virtual {v0}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;->shouldEnableCustomDrawingOrder()Z
move-result v0
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setChildrenDrawingOrderEnabled(Z)V
.line 4
invoke-super {p0, p1}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V
return-void
.end method
.method public removeViewAt(I)V
.registers 4
.line 1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;->handleRemoveView(Landroid/view/View;)V
.line 3
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-virtual {v0}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;->shouldEnableCustomDrawingOrder()Z
move-result v0
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setChildrenDrawingOrderEnabled(Z)V
.line 4
invoke-super {p0, p1}, Landroid/view/ViewGroup;->removeViewAt(I)V
return-void
.end method
.method public removeViewWithSubviewClippingEnabled(Landroid/view/View;)V
.registers 5
.line 1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertCondition(Z)V
.line 3
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
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/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 5
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mChildrenLayoutChangeListener:Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
invoke-virtual {p1, v0}, Landroid/view/View;->removeOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
.line 6
invoke-direct {p0, p1}, Lcom/facebook/react/views/view/ReactViewGroup;->indexOfChildInAllChildren(Landroid/view/View;)I
move-result p1
.line 7
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
aget-object v0, v0, p1
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-eqz v0, :cond_3e
const/4 v0, 0x0
const/4 v1, 0x0
:goto_27
if-ge v0, p1, :cond_38
.line 8
iget-object v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
aget-object v2, v2, v0
invoke-virtual {v2}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v2
if-nez v2, :cond_35
add-int/lit8 v1, v1, 0x1
:cond_35
add-int/lit8 v0, v0, 0x1
goto :goto_27
:cond_38
sub-int v0, p1, v1
const/4 v1, 0x1
.line 9
invoke-super {p0, v0, v1}, Landroid/view/ViewGroup;->removeViewsInLayout(II)V
.line 10
:cond_3e
invoke-direct {p0, p1}, Lcom/facebook/react/views/view/ReactViewGroup;->removeFromArray(I)V
return-void
.end method
.method public requestLayout()V
.registers 1
.annotation build Landroid/annotation/SuppressLint;
value = {
"MissingSuperCall"
}
.end annotation
return-void
.end method
.method public setBackfaceVisibility(Ljava/lang/String;)V
.registers 2
.line 1
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceVisibility:Ljava/lang/String;
.line 2
invoke-virtual {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->setBackfaceVisibilityDependantOpacity()V
return-void
.end method
.method public setBackfaceVisibilityDependantOpacity()V
.registers 5
.line 1
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceVisibility:Ljava/lang/String;
const-string/jumbo v1, "visible"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_11
.line 2
iget v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceOpacity:F
invoke-virtual {p0, v0}, Landroid/view/View;->setAlpha(F)V
return-void
.line 3
:cond_11
invoke-virtual {p0}, Landroid/view/View;->getRotationX()F
move-result v0
.line 4
invoke-virtual {p0}, Landroid/view/View;->getRotationY()F
move-result v1
const/high16 v2, -0x3d4c0000 # -90.0f
cmpl-float v3, v0, v2
if-ltz v3, :cond_2f
const/high16 v3, 0x42b40000 # 90.0f
cmpg-float v0, v0, v3
if-gez v0, :cond_2f
cmpl-float v0, v1, v2
if-ltz v0, :cond_2f
cmpg-float v0, v1, v3
if-gez v0, :cond_2f
const/4 v0, 0x1
goto :goto_30
:cond_2f
const/4 v0, 0x0
:goto_30
if-eqz v0, :cond_38
.line 5
iget v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceOpacity:F
invoke-virtual {p0, v0}, Landroid/view/View;->setAlpha(F)V
return-void
:cond_38
const/4 v0, 0x0
.line 6
invoke-virtual {p0, v0}, Landroid/view/View;->setAlpha(F)V
return-void
.end method
.method public setBackground(Landroid/graphics/drawable/Drawable;)V
.registers 3
new-instance p1, Ljava/lang/UnsupportedOperationException;
const-string v0, "This method is not supported for ReactViewGroup instances"
invoke-direct {p1, v0}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setBackgroundColor(I)V
.registers 3
if-nez p1, :cond_7
.line 1
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
if-nez v0, :cond_7
goto :goto_e
.line 2
:cond_7
invoke-direct {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->getOrCreateReactViewBackground()Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->setColor(I)V
:goto_e
return-void
.end method
.method public setBorderColor(IFF)V
.registers 5
invoke-direct {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->getOrCreateReactViewBackground()Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
move-result-object v0
invoke-virtual {v0, p1, p2, p3}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->setBorderColor(IFF)V
return-void
.end method
.method public setBorderRadius(F)V
.registers 3
.line 1
invoke-direct {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->getOrCreateReactViewBackground()Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
move-result-object v0
.line 2
invoke-virtual {v0, p1}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->setRadius(F)V
return-void
.end method
.method public setBorderRadius(FI)V
.registers 4
.line 3
invoke-direct {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->getOrCreateReactViewBackground()Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
move-result-object v0
.line 4
invoke-virtual {v0, p1, p2}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->setRadius(FI)V
return-void
.end method
.method public setBorderStyle(Ljava/lang/String;)V
.registers 3
invoke-direct {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->getOrCreateReactViewBackground()Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->setBorderStyle(Ljava/lang/String;)V
return-void
.end method
.method public setBorderWidth(IF)V
.registers 4
invoke-direct {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->getOrCreateReactViewBackground()Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->setBorderWidth(IF)V
return-void
.end method
.method public setHitSlopRect(Landroid/graphics/Rect;)V
.registers 2
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mHitSlopRect:Landroid/graphics/Rect;
return-void
.end method
.method public setNeedsOffscreenAlphaCompositing(Z)V
.registers 2
iput-boolean p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mNeedsOffscreenAlphaCompositing:Z
return-void
.end method
.method public setOnInterceptTouchEventListener(Lcom/facebook/react/touch/OnInterceptTouchEventListener;)V
.registers 2
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mOnInterceptTouchEventListener:Lcom/facebook/react/touch/OnInterceptTouchEventListener;
return-void
.end method
.method public setOpacityIfPossible(F)V
.registers 2
.line 1
iput p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceOpacity:F
.line 2
invoke-virtual {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->setBackfaceVisibilityDependantOpacity()V
return-void
.end method
.method public setOverflow(Ljava/lang/String;)V
.registers 2
.line 1
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mOverflow:Ljava/lang/String;
.line 2
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
return-void
.end method
.method public setPointerEvents(Lcom/facebook/react/uimanager/PointerEvents;)V
.registers 2
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mPointerEvents:Lcom/facebook/react/uimanager/PointerEvents;
return-void
.end method
.method public setRemoveClippedSubviews(Z)V
.registers 6
.line 1
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
if-ne p1, v0, :cond_5
return-void
.line 2
:cond_5
iput-boolean p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
const/4 v0, 0x0
const/4 v1, 0x0
if-eqz p1, :cond_44
.line 3
new-instance p1, Landroid/graphics/Rect;
invoke-direct {p1}, Landroid/graphics/Rect;-><init>()V
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
.line 4
invoke-static {p0, p1}, Lcom/facebook/react/uimanager/ReactClippingViewGroupHelper;->calculateClippingRect(Landroid/view/View;Landroid/graphics/Rect;)V
.line 5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I
move-result p1
iput p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
const/16 v2, 0xc
.line 6
invoke-static {v2, p1}, Ljava/lang/Math;->max(II)I
move-result p1
.line 7
new-array p1, p1, [Landroid/view/View;
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
.line 8
new-instance p1, Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
invoke-direct {p1, p0, v1}, Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;-><init>(Lcom/facebook/react/views/view/ReactViewGroup;Lcom/facebook/react/views/view/ReactViewGroup$1;)V
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mChildrenLayoutChangeListener:Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
.line 9
:goto_2c
iget p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
if-ge v0, p1, :cond_40
.line 10
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object p1
.line 11
iget-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
aput-object p1, v1, v0
.line 12
iget-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mChildrenLayoutChangeListener:Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
invoke-virtual {p1, v1}, Landroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
add-int/lit8 v0, v0, 0x1
goto :goto_2c
.line 13
:cond_40
invoke-virtual {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->updateClippingRect()V
goto :goto_76
.line 14
:cond_44
iget-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
invoke-static {p1}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 15
iget-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {p1}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 16
iget-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mChildrenLayoutChangeListener:Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
invoke-static {p1}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const/4 p1, 0x0
.line 17
:goto_54
iget v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
if-ge p1, v2, :cond_64
.line 18
iget-object v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
aget-object v2, v2, p1
iget-object v3, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mChildrenLayoutChangeListener:Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
invoke-virtual {v2, v3}, Landroid/view/View;->removeOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
add-int/lit8 p1, p1, 0x1
goto :goto_54
.line 19
:cond_64
iget-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
.line 20
iget-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
invoke-direct {p0, p1}, Lcom/facebook/react/views/view/ReactViewGroup;->updateClippingToRect(Landroid/graphics/Rect;)V
.line 21
iput-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
.line 22
iput-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
.line 23
iput v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
.line 24
iput-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mChildrenLayoutChangeListener:Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
:goto_76
return-void
.end method
.method public setTranslucentBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
.registers 6
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0}, Lcom/facebook/react/views/view/ReactViewGroup;->updateBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
.line 2
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
if-eqz v0, :cond_1e
if-eqz p1, :cond_1e
.line 3
new-instance v0, Landroid/graphics/drawable/LayerDrawable;
const/4 v1, 0x2
new-array v1, v1, [Landroid/graphics/drawable/Drawable;
const/4 v2, 0x0
iget-object v3, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
aput-object v3, v1, v2
const/4 v2, 0x1
aput-object p1, v1, v2
invoke-direct {v0, v1}, Landroid/graphics/drawable/LayerDrawable;-><init>([Landroid/graphics/drawable/Drawable;)V
.line 4
invoke-direct {p0, v0}, Lcom/facebook/react/views/view/ReactViewGroup;->updateBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
goto :goto_23
:cond_1e
if-eqz p1, :cond_23
.line 5
invoke-direct {p0, p1}, Lcom/facebook/react/views/view/ReactViewGroup;->updateBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
:cond_23
:goto_23
return-void
.end method
.method public updateClippingRect()V
.registers 2
.line 1
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
if-nez v0, :cond_5
return-void
.line 2
:cond_5
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->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/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
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/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
invoke-static {p0, v0}, Lcom/facebook/react/uimanager/ReactClippingViewGroupHelper;->calculateClippingRect(Landroid/view/View;Landroid/graphics/Rect;)V
.line 5
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
invoke-direct {p0, v0}, Lcom/facebook/react/views/view/ReactViewGroup;->updateClippingToRect(Landroid/graphics/Rect;)V
return-void
.end method
.method public updateDrawingOrder()V
.registers 2
.line 1
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-virtual {v0}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;->update()V
.line 2
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
invoke-virtual {v0}, Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;->shouldEnableCustomDrawingOrder()Z
move-result v0
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setChildrenDrawingOrderEnabled(Z)V
.line 3
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
return-void
.end method