ReactViewGroup.smali
.class public Lcom/facebook/react/views/view/ReactViewGroup;
.super Landroid/view/ViewGroup;
.source "ReactViewGroup.java"
# 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 public static final ARRAY_CAPACITY_INCREMENT:I = 0xc
.field public static final DEFAULT_BACKGROUND_COLOR:I
.field public static final sDefaultLayoutParam:Landroid/view/ViewGroup$LayoutParams;
.field public static final sHelperRect:Landroid/graphics/Rect;
# instance fields
.field public mAllChildren:[Landroid/view/View;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mAllChildrenCount:I
.field public mBackfaceOpacity:F
.field public mBackfaceVisibility:Ljava/lang/String;
.field public mChildrenLayoutChangeListener:Lcom/facebook/react/views/view/ReactViewGroup$ChildrenLayoutChangeListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mClippingRect:Landroid/graphics/Rect;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final mDrawingOrderHelper:Lcom/facebook/react/uimanager/ViewGroupDrawingOrderHelper;
.field public mHitSlopRect:Landroid/graphics/Rect;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mLayoutDirection:I
.field public mNeedsOffscreenAlphaCompositing:Z
.field public mOnInterceptTouchEventListener:Lcom/facebook/react/touch/OnInterceptTouchEventListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mOverflow:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mPath:Landroid/graphics/Path;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mPointerEvents:Lcom/facebook/react/uimanager/PointerEvents;
.field public mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mRemoveClippedSubviews:Z
# direct methods
.method public static constructor <clinit>()V
.registers 2
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;
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
invoke-direct {p0, p1}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;)V
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
const/4 v0, 0x0
iput-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
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;
iput-boolean p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mNeedsOffscreenAlphaCompositing:Z
const/high16 v0, 0x3f800000 # 1.0f
iput v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceOpacity:F
const-string/jumbo v0, "visible"
iput-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceVisibility:Ljava/lang/String;
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setClipChildren(Z)V
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
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;
iget v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
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
new-array p2, p2, [Landroid/view/View;
iput-object p2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {v0, v3, p2, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
: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
new-array v2, v2, [Landroid/view/View;
iput-object v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
invoke-static {v0, v3, v2, v3, p2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
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
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
invoke-static {v0, p2, v0, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:goto_42
aput-object p1, v0, p2
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
:cond_4b
new-instance p1, Ljava/lang/IndexOutOfBoundsException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "index="
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p2, " count="
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
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
iget-object v2, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mOverflow:Ljava/lang/String;
if-eqz v2, :cond_1ec
const/4 v3, -0x1
invoke-virtual {v2}, Ljava/lang/String;->hashCode()I
move-result v4
const v5, -0x48916256
const/4 v7, 0x1
if-eq v4, v5, :cond_24
const v5, 0x1bd1f072
if-eq v4, v5, :cond_19
goto :goto_2d
:cond_19
const-string/jumbo v4, "visible"
invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2d
const/4 v3, 0x0
goto :goto_2d
:cond_24
const-string v4, "hidden"
invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2d
const/4 v3, 0x1
:cond_2d
:goto_2d
if-eqz v3, :cond_1e5
if-eq v3, v7, :cond_33
goto/16 :goto_1ec
:cond_33
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v2
int-to-float v2, v2
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v3
int-to-float v3, v3
iget-object v4, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
const/4 v5, 0x0
if-eqz v4, :cond_1d4
invoke-virtual {v4}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getDirectionAwareBorderInsets()Landroid/graphics/RectF;
move-result-object v4
iget v8, v4, Landroid/graphics/RectF;->top:F
cmpl-float v8, v8, v5
if-gtz v8, :cond_62
iget v8, v4, Landroid/graphics/RectF;->left:F
cmpl-float v8, v8, v5
if-gtz v8, :cond_62
iget v8, v4, Landroid/graphics/RectF;->bottom:F
cmpl-float v8, v8, v5
if-gtz v8, :cond_62
iget v8, v4, Landroid/graphics/RectF;->right:F
cmpl-float v8, v8, v5
if-lez v8, :cond_5f
goto :goto_62
:cond_5f
const/4 v8, 0x0
const/4 v9, 0x0
goto :goto_6e
:cond_62
:goto_62
iget v8, v4, Landroid/graphics/RectF;->left:F
add-float/2addr v8, v5
iget v9, v4, Landroid/graphics/RectF;->top:F
add-float/2addr v9, v5
iget v10, v4, Landroid/graphics/RectF;->right:F
sub-float/2addr v2, v10
iget v10, v4, Landroid/graphics/RectF;->bottom:F
sub-float/2addr v3, v10
:goto_6e
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
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;
invoke-virtual {v11, v10, v12}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadiusOrDefaultTo(FLcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v11
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;
invoke-virtual {v12, v10, v13}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadiusOrDefaultTo(FLcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v12
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;
invoke-virtual {v13, v10, v14}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadiusOrDefaultTo(FLcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v13
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;
invoke-virtual {v14, v10, v15}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadiusOrDefaultTo(FLcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v10
sget v14, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v15, 0x11
if-lt v14, v15, :cond_13d
iget v14, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mLayoutDirection:I
if-ne v14, v7, :cond_a0
const/4 v14, 0x1
goto :goto_a1
:cond_a0
const/4 v14, 0x0
:goto_a1
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;->TOP_START:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;
invoke-virtual {v15, v7}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadius(Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v7
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_END:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;
invoke-virtual {v15, v6}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadius(Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v6
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;->BOTTOM_START:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;
invoke-virtual {v15, v5}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadius(Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v5
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;
invoke-virtual {v15, v10}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->getBorderRadius(Lcom/facebook/react/views/view/ReactViewBackgroundDrawable$BorderRadiusLocation;)F
move-result v10
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/ViewGroup;->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_108
invoke-static {v7}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v11
if-eqz v11, :cond_dc
move/from16 v11, v18
goto :goto_dd
:cond_dc
move v11, v7
:goto_dd
invoke-static {v6}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v7
if-eqz v7, :cond_e4
goto :goto_e5
:cond_e4
move v12, v6
:goto_e5
invoke-static {v5}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v6
if-eqz v6, :cond_ec
goto :goto_ed
:cond_ec
move v13, v5
:goto_ed
invoke-static {v10}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v5
if-eqz v5, :cond_f5
move/from16 v10, v17
:cond_f5
if-eqz v14, :cond_f9
move v5, v12
goto :goto_fa
:cond_f9
move v5, v11
:goto_fa
if-eqz v14, :cond_fd
move v12, v11
:cond_fd
if-eqz v14, :cond_101
move v6, v10
goto :goto_102
:cond_101
move v6, v13
:goto_102
if-eqz v14, :cond_105
move v10, v13
:cond_105
move v11, v5
move v13, v6
goto :goto_13b
:cond_108
if-eqz v14, :cond_10c
move v11, v6
goto :goto_10d
:cond_10c
move v11, v7
:goto_10d
if-eqz v14, :cond_110
goto :goto_111
:cond_110
move v7, v6
:goto_111
if-eqz v14, :cond_115
move v6, v10
goto :goto_116
:cond_115
move v6, v5
:goto_116
if-eqz v14, :cond_119
goto :goto_11a
:cond_119
move v5, v10
:goto_11a
invoke-static {v11}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v10
if-nez v10, :cond_121
goto :goto_123
:cond_121
move/from16 v11, v18
:goto_123
invoke-static {v7}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v10
if-nez v10, :cond_12a
move v12, v7
:cond_12a
invoke-static {v6}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v7
if-nez v7, :cond_131
move v13, v6
:cond_131
invoke-static {v5}, Lcom/facebook/yoga/YogaConstants;->isUndefined(F)Z
move-result v6
if-nez v6, :cond_139
move v10, v5
goto :goto_13b
:cond_139
move/from16 v10, v17
:goto_13b
const/4 v5, 0x0
goto :goto_141
:cond_13d
move/from16 v17, v10
move/from16 v18, v11
:goto_141
cmpl-float v6, v11, v5
if-gtz v6, :cond_156
cmpl-float v6, v12, v5
if-gtz v6, :cond_156
cmpl-float v6, v10, v5
if-gtz v6, :cond_156
cmpl-float v6, v13, v5
if-lez v6, :cond_152
goto :goto_156
:cond_152
move v5, v8
const/4 v6, 0x0
goto/16 :goto_1da
:cond_156
:goto_156
iget-object v5, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mPath:Landroid/graphics/Path;
if-nez v5, :cond_161
new-instance v5, Landroid/graphics/Path;
invoke-direct {v5}, Landroid/graphics/Path;-><init>()V
iput-object v5, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mPath:Landroid/graphics/Path;
:cond_161
iget-object v5, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mPath:Landroid/graphics/Path;
invoke-virtual {v5}, Landroid/graphics/Path;->rewind()V
iget-object v5, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mPath:Landroid/graphics/Path;
new-instance v6, Landroid/graphics/RectF;
invoke-direct {v6, v8, v9, v2, v3}, Landroid/graphics/RectF;-><init>(FFFF)V
const/16 v7, 0x8
new-array v7, v7, [F
iget v14, v4, Landroid/graphics/RectF;->left:F
sub-float v14, v11, v14
const/4 v15, 0x0
invoke-static {v14, v15}, Ljava/lang/Math;->max(FF)F
move-result v14
const/16 v16, 0x0
aput v14, v7, v16
iget v14, v4, Landroid/graphics/RectF;->top:F
sub-float/2addr v11, v14
invoke-static {v11, v15}, Ljava/lang/Math;->max(FF)F
move-result v11
const/4 v14, 0x1
aput v11, v7, v14
const/4 v11, 0x2
iget v14, v4, Landroid/graphics/RectF;->right:F
sub-float v14, v12, v14
invoke-static {v14, v15}, Ljava/lang/Math;->max(FF)F
move-result v14
aput v14, v7, v11
const/4 v11, 0x3
iget v14, v4, Landroid/graphics/RectF;->top:F
sub-float/2addr v12, v14
invoke-static {v12, v15}, Ljava/lang/Math;->max(FF)F
move-result v12
aput v12, v7, v11
const/4 v11, 0x4
iget v12, v4, Landroid/graphics/RectF;->right:F
sub-float v12, v10, v12
invoke-static {v12, v15}, Ljava/lang/Math;->max(FF)F
move-result v12
aput v12, v7, v11
const/4 v11, 0x5
iget v12, v4, Landroid/graphics/RectF;->bottom:F
sub-float/2addr v10, v12
invoke-static {v10, v15}, Ljava/lang/Math;->max(FF)F
move-result v10
aput v10, v7, v11
const/4 v10, 0x6
iget v11, v4, Landroid/graphics/RectF;->left:F
sub-float v11, v13, v11
invoke-static {v11, v15}, Ljava/lang/Math;->max(FF)F
move-result v11
aput v11, v7, v10
const/4 v10, 0x7
iget v4, v4, Landroid/graphics/RectF;->bottom:F
sub-float/2addr v13, v4
invoke-static {v13, v15}, Ljava/lang/Math;->max(FF)F
move-result v4
aput v4, v7, v10
sget-object v4, Landroid/graphics/Path$Direction;->CW:Landroid/graphics/Path$Direction;
invoke-virtual {v5, v6, v7, v4}, Landroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;[FLandroid/graphics/Path$Direction;)V
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 v5, v8
const/4 v6, 0x1
goto :goto_1da
:cond_1d4
const/4 v15, 0x0
const/16 v16, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
const/4 v9, 0x0
:goto_1da
if-nez v6, :cond_1ec
new-instance v4, Landroid/graphics/RectF;
invoke-direct {v4, v5, v9, v2, v3}, Landroid/graphics/RectF;-><init>(FFFF)V
invoke-virtual {v1, v4}, Landroid/graphics/Canvas;->clipRect(Landroid/graphics/RectF;)Z
goto :goto_1ec
:cond_1e5
iget-object v1, v0, Lcom/facebook/react/views/view/ReactViewGroup;->mPath:Landroid/graphics/Path;
if-eqz v1, :cond_1ec
invoke-virtual {v1}, Landroid/graphics/Path;->rewind()V
:cond_1ec
:goto_1ec
return-void
.end method
.method private getOrCreateReactViewBackground()Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
.registers 6
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
if-nez v0, :cond_4b
new-instance v0, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
invoke-virtual {p0}, Landroid/view/ViewGroup;->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;
invoke-virtual {p0}, Landroid/view/ViewGroup;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
const/4 v1, 0x0
invoke-direct {p0, v1}, Lcom/facebook/react/views/view/ReactViewGroup;->updateBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
if-nez v0, :cond_1f
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
: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
invoke-direct {p0, v1}, Lcom/facebook/react/views/view/ReactViewGroup;->updateBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
:goto_32
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x11
if-lt v0, v1, :cond_4b
invoke-static {}, Lcom/facebook/react/modules/i18nmanager/I18nUtil;->getInstance()Lcom/facebook/react/modules/i18nmanager/I18nUtil;
move-result-object v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->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
iput v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mLayoutDirection:I
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
:cond_4b
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
iget v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
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
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
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;
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
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
invoke-static {v0, v2, v0, p1, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
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
: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/ViewGroup;->setBackground(Landroid/graphics/drawable/Drawable;)V
return-void
.end method
.method private updateClippingToRect(Landroid/graphics/Rect;)V
.registers 5
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
:goto_7
iget v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
if-ge v0, v2, :cond_1d
invoke-direct {p0, p1, v0, v1}, Lcom/facebook/react/views/view/ReactViewGroup;->updateSubviewClipStatus(Landroid/graphics/Rect;II)V
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
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
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
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
sget-object v1, Lcom/facebook/react/views/view/ReactViewGroup;->sHelperRect:Landroid/graphics/Rect;
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
invoke-virtual {p1, v2, v3, v4, v1}, Landroid/graphics/Rect;->intersects(IIII)Z
move-result p1
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_40
invoke-virtual {v1}, Landroid/view/animation/Animation;->hasEnded()Z
move-result v1
if-nez v1, :cond_40
const/4 v1, 0x1
goto :goto_41
:cond_40
const/4 v1, 0x0
:goto_41
if-nez p1, :cond_50
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v4
if-eqz v4, :cond_50
if-nez v1, :cond_50
sub-int/2addr p2, p3
invoke-super {p0, p2, v3}, Landroid/view/ViewGroup;->removeViewsInLayout(II)V
goto :goto_64
:cond_50
if-eqz p1, :cond_62
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
if-nez v1, :cond_62
sub-int/2addr p2, p3
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
invoke-virtual {p0}, Landroid/view/ViewGroup;->invalidate()V
goto :goto_64
:cond_62
if-eqz p1, :cond_65
:goto_64
const/4 v2, 0x1
:cond_65
if-eqz v2, :cond_76
instance-of p1, v0, Lcom/facebook/react/uimanager/ReactClippingViewGroup;
if-eqz p1, :cond_76
check-cast v0, Lcom/facebook/react/uimanager/ReactClippingViewGroup;
invoke-interface {v0}, Lcom/facebook/react/uimanager/ReactClippingViewGroup;->getRemoveClippedSubviews()Z
move-result p1
if-eqz p1, :cond_76
invoke-interface {v0}, Lcom/facebook/react/uimanager/ReactClippingViewGroup;->updateClippingRect()V
:cond_76
return-void
.end method
.method private updateSubviewClipStatus(Landroid/view/View;)V
.registers 7
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
if-eqz v0, :cond_64
invoke-virtual {p0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-nez v0, :cond_b
goto :goto_64
: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;
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;
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
iget-object v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
sget-object v1, Lcom/facebook/react/views/view/ReactViewGroup;->sHelperRect:Landroid/graphics/Rect;
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
invoke-virtual {v0, v2, v3, v4, v1}, Landroid/graphics/Rect;->intersects(IIII)Z
move-result v0
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
const/4 v2, 0x0
if-eqz v1, :cond_43
const/4 v1, 0x1
goto :goto_44
:cond_43
const/4 v1, 0x0
:goto_44
if-eq v0, v1, :cond_64
const/4 v0, 0x0
:goto_47
iget v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
if-ge v2, v1, :cond_64
iget-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
aget-object v3, v1, v2
if-ne v3, p1, :cond_57
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_64
:cond_57
aget-object v1, v1, v2
invoke-virtual {v1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
if-nez v1, :cond_61
add-int/lit8 v0, v0, 0x1
:cond_61
add-int/lit8 v2, v2, 0x1
goto :goto_47
:cond_64
:goto_64
return-void
.end method
# virtual methods
.method public addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
.registers 5
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
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
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
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
iget-boolean p3, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
invoke-static {p3}, Lcom/facebook/infer/annotation/Assertions;->assertCondition(Z)V
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;
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;
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
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
: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
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
:try_start_0
invoke-direct {p0, p1}, Lcom/facebook/react/views/view/ReactViewGroup;->dispatchOverflowDraw(Landroid/graphics/Canvas;)V
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
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
invoke-interface {v0, p1}, Lcom/facebook/react/uimanager/RootView;->handleException(Ljava/lang/Throwable;)V
goto :goto_34
:cond_12
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v0
instance-of v0, v0, Lcom/facebook/react/bridge/ReactContext;
if-eqz v0, :cond_2b
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v0
check-cast v0, Lcom/facebook/react/bridge/ReactContext;
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
:cond_2b
throw p1
:catch_2c
move-exception p1
const-string v0, "ReactNative"
const-string v1, "NullPointerException when executing ViewGroup.dispatchDraw method"
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
: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"
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
invoke-virtual {p0}, Landroid/view/ViewGroup;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
if-eqz v0, :cond_11
invoke-virtual {p0}, Landroid/view/ViewGroup;->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
sget-boolean v0, Lcom/facebook/react/config/ReactFeatureFlags;->clipChildRectsIfOverflowIsHidden:Z
if-eqz v0, :cond_b
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
: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
.annotation build Landroidx/annotation/Nullable;
.end annotation
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
.annotation build Landroidx/annotation/Nullable;
.end annotation
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
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
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
invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
if-eqz v0, :cond_a
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
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
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
: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
: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
invoke-static {p1, p2}, Lcom/facebook/react/uimanager/MeasureSpecAssertions;->assertExplicitMeasureSpec(II)V
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
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
return-void
.end method
.method public onRtlPropertiesChanged(I)V
.registers 3
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v0, 0x11
if-lt p1, v0, :cond_f
iget-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mReactBackgroundDrawable:Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;
if-eqz p1, :cond_f
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_f
return-void
.end method
.method public onSizeChanged(IIII)V
.registers 5
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->onSizeChanged(IIII)V
iget-boolean p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
if-eqz p1, :cond_a
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
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertCondition(Z)V
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
:goto_c
iget v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
if-ge v1, v2, :cond_1c
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
:cond_1c
invoke-virtual {p0}, Landroid/view/ViewGroup;->removeAllViewsInLayout()V
iput v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
return-void
.end method
.method public removeView(Landroid/view/View;)V
.registers 3
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
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
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
invoke-super {p0, p1}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V
return-void
.end method
.method public removeViewAt(I)V
.registers 4
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
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
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
invoke-super {p0, p1}, Landroid/view/ViewGroup;->removeViewAt(I)V
return-void
.end method
.method public removeViewWithSubviewClippingEnabled(Landroid/view/View;)V
.registers 5
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertCondition(Z)V
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;
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;
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
invoke-direct {p0, p1}, Lcom/facebook/react/views/view/ReactViewGroup;->indexOfChildInAllChildren(Landroid/view/View;)I
move-result p1
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
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
invoke-super {p0, v0, v1}, Landroid/view/ViewGroup;->removeViewsInLayout(II)V
: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
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceVisibility:Ljava/lang/String;
invoke-virtual {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->setBackfaceVisibilityDependantOpacity()V
return-void
.end method
.method public setBackfaceVisibilityDependantOpacity()V
.registers 5
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
iget v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceOpacity:F
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setAlpha(F)V
return-void
:cond_11
invoke-virtual {p0}, Landroid/view/ViewGroup;->getRotationX()F
move-result v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->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
iget v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceOpacity:F
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setAlpha(F)V
return-void
:cond_38
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->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
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
: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 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}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->setRadius(F)V
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x12
if-ge p1, v1, :cond_20
invoke-virtual {v0}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->hasRoundedBorders()Z
move-result p1
if-eqz p1, :cond_15
const/4 p1, 0x1
goto :goto_16
:cond_15
const/4 p1, 0x2
:goto_16
invoke-virtual {p0}, Landroid/view/ViewGroup;->getLayerType()I
move-result v0
if-eq p1, v0, :cond_20
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Landroid/view/ViewGroup;->setLayerType(ILandroid/graphics/Paint;)V
:cond_20
return-void
.end method
.method public setBorderRadius(FI)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;->setRadius(FI)V
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 p2, 0x12
if-ge p1, p2, :cond_20
invoke-virtual {v0}, Lcom/facebook/react/views/view/ReactViewBackgroundDrawable;->hasRoundedBorders()Z
move-result p1
if-eqz p1, :cond_15
const/4 p1, 0x1
goto :goto_16
:cond_15
const/4 p1, 0x2
:goto_16
invoke-virtual {p0}, Landroid/view/ViewGroup;->getLayerType()I
move-result p2
if-eq p1, p2, :cond_20
const/4 p2, 0x0
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setLayerType(ILandroid/graphics/Paint;)V
:cond_20
return-void
.end method
.method public setBorderStyle(Ljava/lang/String;)V
.registers 3
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
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
.param p1 # Landroid/graphics/Rect;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
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
iput p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mBackfaceOpacity:F
invoke-virtual {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->setBackfaceVisibilityDependantOpacity()V
return-void
.end method
.method public setOverflow(Ljava/lang/String;)V
.registers 2
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mOverflow:Ljava/lang/String;
invoke-virtual {p0}, Landroid/view/ViewGroup;->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
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
if-ne p1, v0, :cond_5
return-void
: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
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;
invoke-static {p0, p1}, Lcom/facebook/react/uimanager/ReactClippingViewGroupHelper;->calculateClippingRect(Landroid/view/View;Landroid/graphics/Rect;)V
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
invoke-static {v2, p1}, Ljava/lang/Math;->max(II)I
move-result p1
new-array p1, p1, [Landroid/view/View;
iput-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
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;
:goto_2c
iget p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
if-ge v0, p1, :cond_40
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object p1
iget-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
aput-object p1, v1, v0
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
:cond_40
invoke-virtual {p0}, Lcom/facebook/react/views/view/ReactViewGroup;->updateClippingRect()V
goto :goto_76
: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;
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;
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
:goto_54
iget v2, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
if-ge p1, v2, :cond_64
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
:cond_64
iget-object p1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->getDrawingRect(Landroid/graphics/Rect;)V
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
iput-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildren:[Landroid/view/View;
iput-object v1, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mClippingRect:Landroid/graphics/Rect;
iput v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mAllChildrenCount:I
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
.param p1 # Landroid/graphics/drawable/Drawable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/facebook/react/views/view/ReactViewGroup;->updateBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
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
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
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
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
iget-boolean v0, p0, Lcom/facebook/react/views/view/ReactViewGroup;->mRemoveClippedSubviews:Z
if-nez v0, :cond_5
return-void
: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;
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;
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
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
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
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
invoke-virtual {p0}, Landroid/view/ViewGroup;->invalidate()V
return-void
.end method