NativeViewHierarchyManager.smali
.class public Lcom/facebook/react/uimanager/NativeViewHierarchyManager;
.super Ljava/lang/Object;
.source "NativeViewHierarchyManager.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/react/uimanager/NativeViewHierarchyManager$PopupMenuCallbackHandler;
}
.end annotation
.annotation build Ljavax/annotation/concurrent/NotThreadSafe;
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String; = "NativeViewHierarchyManager"
# instance fields
.field public final mBoundingBox:Landroid/graphics/RectF;
.field public final mJSResponderHandler:Lcom/facebook/react/touch/JSResponderHandler;
.field public mLayoutAnimationEnabled:Z
.field public final mLayoutAnimator:Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;
.field public mPendingDeletionsForTag:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/Integer;",
"Ljava/util/Set<",
"Ljava/lang/Integer;",
">;>;"
}
.end annotation
.end field
.field public mPopupMenu:Landroid/widget/PopupMenu;
.field public final mRootTags:Landroid/util/SparseBooleanArray;
.field public final mRootViewManager:Lcom/facebook/react/uimanager/RootViewManager;
.field public final mTagsToViewManagers:Landroid/util/SparseArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/util/SparseArray<",
"Lcom/facebook/react/uimanager/ViewManager;",
">;"
}
.end annotation
.end field
.field public final mTagsToViews:Landroid/util/SparseArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/util/SparseArray<",
"Landroid/view/View;",
">;"
}
.end annotation
.end field
.field public final mViewManagers:Lcom/facebook/react/uimanager/ViewManagerRegistry;
# direct methods
.method public static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>(Lcom/facebook/react/uimanager/ViewManagerRegistry;)V
.registers 3
new-instance v0, Lcom/facebook/react/uimanager/RootViewManager;
invoke-direct {v0}, Lcom/facebook/react/uimanager/RootViewManager;-><init>()V
invoke-direct {p0, p1, v0}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;-><init>(Lcom/facebook/react/uimanager/ViewManagerRegistry;Lcom/facebook/react/uimanager/RootViewManager;)V
return-void
.end method
.method public constructor <init>(Lcom/facebook/react/uimanager/ViewManagerRegistry;Lcom/facebook/react/uimanager/RootViewManager;)V
.registers 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lcom/facebook/react/touch/JSResponderHandler;
invoke-direct {v0}, Lcom/facebook/react/touch/JSResponderHandler;-><init>()V
iput-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mJSResponderHandler:Lcom/facebook/react/touch/JSResponderHandler;
new-instance v0, Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;
invoke-direct {v0}, Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;-><init>()V
iput-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimator:Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mBoundingBox:Landroid/graphics/RectF;
iput-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mViewManagers:Lcom/facebook/react/uimanager/ViewManagerRegistry;
new-instance p1, Landroid/util/SparseArray;
invoke-direct {p1}, Landroid/util/SparseArray;-><init>()V
iput-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
new-instance p1, Landroid/util/SparseArray;
invoke-direct {p1}, Landroid/util/SparseArray;-><init>()V
iput-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViewManagers:Landroid/util/SparseArray;
new-instance p1, Landroid/util/SparseBooleanArray;
invoke-direct {p1}, Landroid/util/SparseBooleanArray;-><init>()V
iput-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mRootTags:Landroid/util/SparseBooleanArray;
iput-object p2, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mRootViewManager:Lcom/facebook/react/uimanager/RootViewManager;
return-void
.end method
.method public static synthetic access$000(Lcom/facebook/react/uimanager/NativeViewHierarchyManager;)Ljava/util/HashMap;
.registers 1
iget-object p0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPendingDeletionsForTag:Ljava/util/HashMap;
return-object p0
.end method
.method private arrayContains([II)Z
.registers 7
.param p1 # [I
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
if-nez p1, :cond_4
return v0
:cond_4
array-length v1, p1
const/4 v2, 0x0
:goto_6
if-ge v2, v1, :cond_11
aget v3, p1, v2
if-ne v3, p2, :cond_e
const/4 p1, 0x1
return p1
:cond_e
add-int/lit8 v2, v2, 0x1
goto :goto_6
:cond_11
return v0
.end method
.method private computeBoundingBox(Landroid/view/View;[I)V
.registers 7
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mBoundingBox:Landroid/graphics/RectF;
invoke-virtual {p1}, Landroid/view/View;->getWidth()I
move-result v1
int-to-float v1, v1
invoke-virtual {p1}, Landroid/view/View;->getHeight()I
move-result v2
int-to-float v2, v2
const/4 v3, 0x0
invoke-virtual {v0, v3, v3, v1, v2}, Landroid/graphics/RectF;->set(FFFF)V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mBoundingBox:Landroid/graphics/RectF;
invoke-direct {p0, p1, v0}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mapRectFromViewToWindowCoords(Landroid/view/View;Landroid/graphics/RectF;)V
iget-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mBoundingBox:Landroid/graphics/RectF;
iget p1, p1, Landroid/graphics/RectF;->left:F
invoke-static {p1}, Ljava/lang/Math;->round(F)I
move-result p1
const/4 v0, 0x0
aput p1, p2, v0
iget-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mBoundingBox:Landroid/graphics/RectF;
iget p1, p1, Landroid/graphics/RectF;->top:F
invoke-static {p1}, Ljava/lang/Math;->round(F)I
move-result p1
const/4 v0, 0x1
aput p1, p2, v0
iget-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mBoundingBox:Landroid/graphics/RectF;
iget v0, p1, Landroid/graphics/RectF;->right:F
iget p1, p1, Landroid/graphics/RectF;->left:F
sub-float/2addr v0, p1
invoke-static {v0}, Ljava/lang/Math;->round(F)I
move-result p1
const/4 v0, 0x2
aput p1, p2, v0
iget-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mBoundingBox:Landroid/graphics/RectF;
iget v0, p1, Landroid/graphics/RectF;->bottom:F
iget p1, p1, Landroid/graphics/RectF;->top:F
sub-float/2addr v0, p1
invoke-static {v0}, Ljava/lang/Math;->round(F)I
move-result p1
const/4 v0, 0x3
aput p1, p2, v0
return-void
.end method
.method public static constructManageChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;[I[Lcom/facebook/react/uimanager/ViewAtIndex;[I)Ljava/lang/String;
.registers 16
.param p0 # Landroid/view/ViewGroup;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p1 # Lcom/facebook/react/uimanager/ViewGroupManager;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # [I
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, " ],\n"
const-string v2, ","
const-string v3, "): [\n"
const-string v4, "\n"
const/16 v5, 0x10
const/4 v6, 0x0
if-eqz p0, :cond_80
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "View tag:"
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroid/view/ViewGroup;->getId()I
move-result v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, " children("
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p0}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildCount(Landroid/view/ViewGroup;)I
move-result v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v7, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v7, 0x0
:goto_49
invoke-virtual {p1, p0}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildCount(Landroid/view/ViewGroup;)I
move-result v8
if-ge v7, v8, :cond_7d
const/4 v8, 0x0
:goto_50
add-int v9, v7, v8
invoke-virtual {p1, p0}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildCount(Landroid/view/ViewGroup;)I
move-result v10
if-ge v9, v10, :cond_77
if-ge v8, v5, :cond_77
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1, p0, v9}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildAt(Landroid/view/ViewGroup;I)Landroid/view/View;
move-result-object v9
invoke-virtual {v9}, Landroid/view/View;->getId()I
move-result v9
invoke-virtual {v10, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v10, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v8, v8, 0x1
goto :goto_50
:cond_77
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v7, v7, 0x10
goto :goto_49
:cond_7d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_80
if-eqz p2, :cond_c6
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
const-string p1, " indicesToRemove("
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
array-length p1, p2
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 p0, 0x0
:goto_9b
array-length p1, p2
if-ge p0, p1, :cond_c3
const/4 p1, 0x0
:goto_9f
add-int v7, p0, p1
array-length v8, p2
if-ge v7, v8, :cond_bd
if-ge p1, v5, :cond_bd
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
aget v7, p2, v7
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v8, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, 0x1
goto :goto_9f
:cond_bd
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p0, p0, 0x10
goto :goto_9b
:cond_c3
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_c6
if-eqz p3, :cond_11f
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
const-string p1, " viewsToAdd("
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
array-length p1, p3
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 p0, 0x0
:goto_e1
array-length p1, p3
if-ge p0, p1, :cond_11c
const/4 p1, 0x0
:goto_e5
add-int p2, p0, p1
array-length v7, p3
if-ge p2, v7, :cond_116
if-ge p1, v5, :cond_116
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "["
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-object v8, p3, p2
iget v8, v8, Lcom/facebook/react/uimanager/ViewAtIndex;->mIndex:I
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-object p2, p3, p2
iget p2, p2, Lcom/facebook/react/uimanager/ViewAtIndex;->mTag:I
invoke-virtual {v7, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p2, "],"
invoke-virtual {v7, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, 0x1
goto :goto_e5
:cond_116
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p0, p0, 0x10
goto :goto_e1
:cond_11c
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_11f
if-eqz p4, :cond_167
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
const-string p1, " tagsToDelete("
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
array-length p1, p4
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 p0, 0x0
:goto_13a
array-length p1, p4
if-ge p0, p1, :cond_162
const/4 p1, 0x0
:goto_13e
add-int p2, p0, p1
array-length p3, p4
if-ge p2, p3, :cond_15c
if-ge p1, v5, :cond_15c
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
aget p2, p4, p2
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, 0x1
goto :goto_13e
:cond_15c
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p0, p0, 0x10
goto :goto_13a
:cond_162
const-string p0, " ]\n"
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_167
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static constructSetChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;Lcom/facebook/react/bridge/ReadableArray;)Ljava/lang/String;
.registers 7
invoke-interface {p2}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v0
new-array v0, v0, [Lcom/facebook/react/uimanager/ViewAtIndex;
const/4 v1, 0x0
:goto_7
invoke-interface {p2}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v2
if-ge v1, v2, :cond_1b
new-instance v2, Lcom/facebook/react/uimanager/ViewAtIndex;
invoke-interface {p2, v1}, Lcom/facebook/react/bridge/ReadableArray;->getInt(I)I
move-result v3
invoke-direct {v2, v3, v1}, Lcom/facebook/react/uimanager/ViewAtIndex;-><init>(II)V
aput-object v2, v0, v1
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_1b
const/4 p2, 0x0
invoke-static {p0, p1, p2, v0, p2}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->constructManageChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;[I[Lcom/facebook/react/uimanager/ViewAtIndex;[I)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private getPendingDeletionsForTag(I)Ljava/util/Set;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Ljava/util/Set<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPendingDeletionsForTag:Ljava/util/HashMap;
if-nez v0, :cond_b
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPendingDeletionsForTag:Ljava/util/HashMap;
:cond_b
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPendingDeletionsForTag:Ljava/util/HashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_25
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPendingDeletionsForTag:Ljava/util/HashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
new-instance v2, Ljava/util/HashSet;
invoke-direct {v2}, Ljava/util/HashSet;-><init>()V
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_25
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPendingDeletionsForTag:Ljava/util/HashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/Set;
return-object p1
.end method
.method private getReactContextForView(I)Lcom/facebook/react/uimanager/ThemedReactContext;
.registers 5
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
if-eqz v0, :cond_11
invoke-virtual {v0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object p1
check-cast p1, Lcom/facebook/react/uimanager/ThemedReactContext;
return-object p1
:cond_11
new-instance v0, Lcom/facebook/react/bridge/JSApplicationIllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Could not find view with tag "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/facebook/react/bridge/JSApplicationIllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private mapRectFromViewToWindowCoords(Landroid/view/View;Landroid/graphics/RectF;)V
.registers 5
invoke-virtual {p1}, Landroid/view/View;->getMatrix()Landroid/graphics/Matrix;
move-result-object v0
invoke-virtual {v0}, Landroid/graphics/Matrix;->isIdentity()Z
move-result v1
if-nez v1, :cond_d
invoke-virtual {v0, p2}, Landroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z
:cond_d
invoke-virtual {p1}, Landroid/view/View;->getLeft()I
move-result v0
int-to-float v0, v0
invoke-virtual {p1}, Landroid/view/View;->getTop()I
move-result v1
int-to-float v1, v1
invoke-virtual {p2, v0, v1}, Landroid/graphics/RectF;->offset(FF)V
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object p1
:goto_1e
instance-of v0, p1, Landroid/view/View;
if-eqz v0, :cond_52
check-cast p1, Landroid/view/View;
invoke-virtual {p1}, Landroid/view/View;->getScrollX()I
move-result v0
neg-int v0, v0
int-to-float v0, v0
invoke-virtual {p1}, Landroid/view/View;->getScrollY()I
move-result v1
neg-int v1, v1
int-to-float v1, v1
invoke-virtual {p2, v0, v1}, Landroid/graphics/RectF;->offset(FF)V
invoke-virtual {p1}, Landroid/view/View;->getMatrix()Landroid/graphics/Matrix;
move-result-object v0
invoke-virtual {v0}, Landroid/graphics/Matrix;->isIdentity()Z
move-result v1
if-nez v1, :cond_40
invoke-virtual {v0, p2}, Landroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z
:cond_40
invoke-virtual {p1}, Landroid/view/View;->getLeft()I
move-result v0
int-to-float v0, v0
invoke-virtual {p1}, Landroid/view/View;->getTop()I
move-result v1
int-to-float v1, v1
invoke-virtual {p2, v0, v1}, Landroid/graphics/RectF;->offset(FF)V
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object p1
goto :goto_1e
:cond_52
return-void
.end method
.method private updateInstanceHandle(Landroid/view/View;J)V
.registers 5
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
sget v0, Lcom/facebook/react/R$id;->view_tag_instance_handle:I
invoke-static {p2, p3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p2
invoke-virtual {p1, v0, p2}, Landroid/view/View;->setTag(ILjava/lang/Object;)V
return-void
.end method
.method private updateLayout(Landroid/view/View;IIII)V
.registers 13
iget-boolean v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimationEnabled:Z
if-eqz v0, :cond_17
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimator:Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;
invoke-virtual {v0, p1}, Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;->shouldAnimateLayout(Landroid/view/View;)Z
move-result v0
if-eqz v0, :cond_17
iget-object v1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimator:Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;
move-object v2, p1
move v3, p2
move v4, p3
move v5, p4
move v6, p5
invoke-virtual/range {v1 .. v6}, Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;->applyLayoutUpdate(Landroid/view/View;IIII)V
goto :goto_1c
:cond_17
add-int/2addr p4, p2
add-int/2addr p5, p3
invoke-virtual {p1, p2, p3, p4, p5}, Landroid/view/View;->layout(IIII)V
:goto_1c
return-void
.end method
# virtual methods
.method public declared-synchronized addRootView(ILandroid/view/View;)V
.registers 3
monitor-enter p0
:try_start_1
invoke-virtual {p0, p1, p2}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->addRootViewGroup(ILandroid/view/View;)V
:try_end_4
.catchall {:try_start_1 .. :try_end_4} :catchall_6
monitor-exit p0
return-void
:catchall_6
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized addRootViewGroup(ILandroid/view/View;)V
.registers 6
monitor-enter p0
:try_start_1
invoke-virtual {p2}, Landroid/view/View;->getId()I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_27
sget-object v0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Trying to add a root view with an explicit id ("
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Landroid/view/View;->getId()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, ") already set. React Native uses the id field to track react tags and will overwrite this field. If that is fine, explicitly overwrite the id field to View.NO_ID before calling addRootView."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/facebook/common/logging/FLog;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_27
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1, p2}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViewManagers:Landroid/util/SparseArray;
iget-object v1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mRootViewManager:Lcom/facebook/react/uimanager/RootViewManager;
invoke-virtual {v0, p1, v1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mRootTags:Landroid/util/SparseBooleanArray;
const/4 v1, 0x1
invoke-virtual {v0, p1, v1}, Landroid/util/SparseBooleanArray;->put(IZ)V
invoke-virtual {p2, p1}, Landroid/view/View;->setId(I)V
:try_end_3c
.catchall {:try_start_1 .. :try_end_3c} :catchall_3e
monitor-exit p0
return-void
:catchall_3e
move-exception p1
monitor-exit p0
throw p1
.end method
.method public clearJSResponder()V
.registers 2
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mJSResponderHandler:Lcom/facebook/react/touch/JSResponderHandler;
invoke-virtual {v0}, Lcom/facebook/react/touch/JSResponderHandler;->clearJSResponder()V
return-void
.end method
.method public clearLayoutAnimation()V
.registers 2
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimator:Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;
invoke-virtual {v0}, Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;->reset()V
return-void
.end method
.method public configureLayoutAnimation(Lcom/facebook/react/bridge/ReadableMap;Lcom/facebook/react/bridge/Callback;)V
.registers 4
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimator:Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;
invoke-virtual {v0, p1, p2}, Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;->initializeFromConfig(Lcom/facebook/react/bridge/ReadableMap;Lcom/facebook/react/bridge/Callback;)V
return-void
.end method
.method public declared-synchronized createView(Lcom/facebook/react/uimanager/ThemedReactContext;ILjava/lang/String;Lcom/facebook/react/uimanager/ReactStylesDiffMap;)V
.registers 9
.param p1 # Lcom/facebook/react/uimanager/ThemedReactContext;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
const-string v0, "NativeViewHierarchyManager_createView"
const-wide/16 v1, 0x0
invoke-static {v1, v2, v0}, Lcom/facebook/systrace/SystraceMessage;->beginSection(JLjava/lang/String;)Lcom/facebook/systrace/SystraceMessage$Builder;
move-result-object v0
const-string v3, "tag"
invoke-virtual {v0, v3, p2}, Lcom/facebook/systrace/SystraceMessage$Builder;->arg(Ljava/lang/String;I)Lcom/facebook/systrace/SystraceMessage$Builder;
move-result-object v0
const-string v3, "className"
invoke-virtual {v0, v3, p3}, Lcom/facebook/systrace/SystraceMessage$Builder;->arg(Ljava/lang/String;Ljava/lang/Object;)Lcom/facebook/systrace/SystraceMessage$Builder;
move-result-object v0
invoke-virtual {v0}, Lcom/facebook/systrace/SystraceMessage$Builder;->flush()V
:try_end_1b
.catchall {:try_start_1 .. :try_end_1b} :catchall_44
:try_start_1b
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mViewManagers:Lcom/facebook/react/uimanager/ViewManagerRegistry;
invoke-virtual {v0, p3}, Lcom/facebook/react/uimanager/ViewManagerRegistry;->get(Ljava/lang/String;)Lcom/facebook/react/uimanager/ViewManager;
move-result-object p3
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mJSResponderHandler:Lcom/facebook/react/touch/JSResponderHandler;
const/4 v3, 0x0
invoke-virtual {p3, p1, v3, v3, v0}, Lcom/facebook/react/uimanager/ViewManager;->createView(Lcom/facebook/react/uimanager/ThemedReactContext;Lcom/facebook/react/uimanager/ReactStylesDiffMap;Lcom/facebook/react/uimanager/StateWrapper;Lcom/facebook/react/touch/JSResponderHandler;)Landroid/view/View;
move-result-object p1
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p2, p1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViewManagers:Landroid/util/SparseArray;
invoke-virtual {v0, p2, p3}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
invoke-virtual {p1, p2}, Landroid/view/View;->setId(I)V
if-eqz p4, :cond_3a
invoke-virtual {p3, p1, p4}, Lcom/facebook/react/uimanager/ViewManager;->updateProperties(Landroid/view/View;Lcom/facebook/react/uimanager/ReactStylesDiffMap;)V
:try_end_3a
.catchall {:try_start_1b .. :try_end_3a} :catchall_3f
:cond_3a
:try_start_3a
invoke-static {v1, v2}, Lcom/facebook/systrace/Systrace;->endSection(J)V
:try_end_3d
.catchall {:try_start_3a .. :try_end_3d} :catchall_44
monitor-exit p0
return-void
:catchall_3f
move-exception p1
:try_start_40
invoke-static {v1, v2}, Lcom/facebook/systrace/Systrace;->endSection(J)V
throw p1
:try_end_44
.catchall {:try_start_40 .. :try_end_44} :catchall_44
:catchall_44
move-exception p1
monitor-exit p0
throw p1
.end method
.method public dismissPopupMenu()V
.registers 2
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPopupMenu:Landroid/widget/PopupMenu;
if-eqz v0, :cond_7
invoke-virtual {v0}, Landroid/widget/PopupMenu;->dismiss()V
:cond_7
return-void
.end method
.method public declared-synchronized dispatchCommand(IILcom/facebook/react/bridge/ReadableArray;)V
.registers 6
.param p1 # I
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation runtime Ljava/lang/Deprecated;
.end annotation
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
if-eqz v0, :cond_17
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
move-result-object p1
invoke-virtual {p1, v0, p2, p3}, Lcom/facebook/react/uimanager/ViewManager;->receiveCommand(Landroid/view/View;ILcom/facebook/react/bridge/ReadableArray;)V
:try_end_15
.catchall {:try_start_1 .. :try_end_15} :catchall_36
monitor-exit p0
return-void
:cond_17
:try_start_17
new-instance p3, Lcom/facebook/react/bridge/RetryableMountingLayerException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Trying to send command to a non-existing view with tag ["
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, "] and command "
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p3, p1}, Lcom/facebook/react/bridge/RetryableMountingLayerException;-><init>(Ljava/lang/String;)V
throw p3
:try_end_36
.catchall {:try_start_17 .. :try_end_36} :catchall_36
:catchall_36
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized dispatchCommand(ILjava/lang/String;Lcom/facebook/react/bridge/ReadableArray;)V
.registers 6
.param p1 # I
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
if-eqz v0, :cond_17
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
move-result-object p1
invoke-virtual {p1, v0, p2, p3}, Lcom/facebook/react/uimanager/ViewManager;->receiveCommand(Landroid/view/View;Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;)V
:try_end_15
.catchall {:try_start_1 .. :try_end_15} :catchall_36
monitor-exit p0
return-void
:cond_17
:try_start_17
new-instance p3, Lcom/facebook/react/bridge/RetryableMountingLayerException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Trying to send command to a non-existing view with tag ["
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, "] and command "
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p3, p1}, Lcom/facebook/react/bridge/RetryableMountingLayerException;-><init>(Ljava/lang/String;)V
throw p3
:try_end_36
.catchall {:try_start_17 .. :try_end_36} :catchall_36
:catchall_36
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized dropView(Landroid/view/View;)V
.registers 8
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
:try_end_4
.catchall {:try_start_1 .. :try_end_4} :catchall_85
if-nez p1, :cond_8
monitor-exit p0
return-void
:cond_8
:try_start_8
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViewManagers:Landroid/util/SparseArray;
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v1
invoke-virtual {v0, v1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
:try_end_12
.catchall {:try_start_8 .. :try_end_12} :catchall_85
if-nez v0, :cond_16
monitor-exit p0
return-void
:cond_16
:try_start_16
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mRootTags:Landroid/util/SparseBooleanArray;
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v1
invoke-virtual {v0, v1}, Landroid/util/SparseBooleanArray;->get(I)Z
move-result v0
if-nez v0, :cond_2d
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v0
invoke-virtual {p0, v0}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/facebook/react/uimanager/ViewManager;->onDropViewInstance(Landroid/view/View;)V
:cond_2d
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViewManagers:Landroid/util/SparseArray;
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v1
invoke-virtual {v0, v1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/facebook/react/uimanager/ViewManager;
instance-of v1, p1, Landroid/view/ViewGroup;
if-eqz v1, :cond_71
instance-of v1, v0, Lcom/facebook/react/uimanager/ViewGroupManager;
if-eqz v1, :cond_71
move-object v1, p1
check-cast v1, Landroid/view/ViewGroup;
check-cast v0, Lcom/facebook/react/uimanager/ViewGroupManager;
invoke-virtual {v0, v1}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildCount(Landroid/view/ViewGroup;)I
move-result v2
add-int/lit8 v2, v2, -0x1
:goto_4c
if-ltz v2, :cond_6e
invoke-virtual {v0, v1, v2}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildAt(Landroid/view/ViewGroup;I)Landroid/view/View;
move-result-object v3
if-nez v3, :cond_5c
sget-object v3, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->TAG:Ljava/lang/String;
const-string v4, "Unable to drop null child view"
invoke-static {v3, v4}, Lcom/facebook/common/logging/FLog;->e(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_6b
:cond_5c
iget-object v4, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v3}, Landroid/view/View;->getId()I
move-result v5
invoke-virtual {v4, v5}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v4
if-eqz v4, :cond_6b
invoke-virtual {p0, v3}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->dropView(Landroid/view/View;)V
:cond_6b
:goto_6b
add-int/lit8 v2, v2, -0x1
goto :goto_4c
:cond_6e
invoke-virtual {v0, v1}, Lcom/facebook/react/uimanager/ViewGroupManager;->removeAllViews(Landroid/view/ViewGroup;)V
:cond_71
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v1
invoke-virtual {v0, v1}, Landroid/util/SparseArray;->remove(I)V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViewManagers:Landroid/util/SparseArray;
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p1
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->remove(I)V
:try_end_83
.catchall {:try_start_16 .. :try_end_83} :catchall_85
monitor-exit p0
return-void
:catchall_85
move-exception p1
monitor-exit p0
goto :goto_89
:goto_88
throw p1
:goto_89
goto :goto_88
.end method
.method public declared-synchronized findTargetTagForTouch(IFF)I
.registers 5
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
if-eqz v0, :cond_16
check-cast v0, Landroid/view/ViewGroup;
invoke-static {p2, p3, v0}, Lcom/facebook/react/uimanager/TouchTargetHelper;->findTargetTagForTouch(FFLandroid/view/ViewGroup;)I
move-result p1
:try_end_14
.catchall {:try_start_1 .. :try_end_14} :catchall_2d
monitor-exit p0
return p1
:cond_16
:try_start_16
new-instance p2, Lcom/facebook/react/bridge/JSApplicationIllegalArgumentException;
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Could not find view with tag "
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Lcom/facebook/react/bridge/JSApplicationIllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p2
:try_end_2d
.catchall {:try_start_16 .. :try_end_2d} :catchall_2d
:catchall_2d
move-exception p1
monitor-exit p0
throw p1
.end method
.method public getInstanceHandle(I)J
.registers 5
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
if-eqz v0, :cond_30
sget v1, Lcom/facebook/react/R$id;->view_tag_instance_handle:I
invoke-virtual {v0, v1}, Landroid/view/View;->getTag(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Long;
if-eqz v0, :cond_19
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
return-wide v0
:cond_19
new-instance v0, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unable to find instanceHandle for tag: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v0
:cond_30
new-instance v0, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unable to find view for tag: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public declared-synchronized manageChildren(I[I[Lcom/facebook/react/uimanager/ViewAtIndex;[I)V
.registers 22
.param p1 # I
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # [I
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p3 # [Lcom/facebook/react/uimanager/ViewAtIndex;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
move-object/from16 v8, p0
move/from16 v0, p1
move-object/from16 v9, p2
move-object/from16 v10, p3
move-object/from16 v11, p4
monitor-enter p0
:try_start_b
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
invoke-direct/range {p0 .. p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->getPendingDeletionsForTag(I)Ljava/util/Set;
move-result-object v12
iget-object v1, v8, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v1, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v1
move-object v13, v1
check-cast v13, Landroid/view/ViewGroup;
invoke-virtual/range {p0 .. p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
move-result-object v1
move-object v14, v1
check-cast v14, Lcom/facebook/react/uimanager/ViewGroupManager;
if-eqz v13, :cond_1dc
invoke-virtual {v14, v13}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildCount(Landroid/view/ViewGroup;)I
move-result v1
if-eqz v9, :cond_ee
array-length v2, v9
add-int/lit8 v2, v2, -0x1
:goto_2d
if-ltz v2, :cond_ee
aget v3, v9, v2
if-ltz v3, :cond_c3
invoke-virtual {v14, v13}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildCount(Landroid/view/ViewGroup;)I
move-result v4
if-lt v3, v4, :cond_74
iget-object v1, v8, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mRootTags:Landroid/util/SparseBooleanArray;
invoke-virtual {v1, v0}, Landroid/util/SparseBooleanArray;->get(I)Z
move-result v1
if-eqz v1, :cond_49
invoke-virtual {v14, v13}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildCount(Landroid/view/ViewGroup;)I
move-result v1
:try_end_45
.catchall {:try_start_b .. :try_end_45} :catchall_202
if-nez v1, :cond_49
monitor-exit p0
return-void
:cond_49
:try_start_49
new-instance v1, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Trying to remove a view index above child count "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, " view tag: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, "\n detail: "
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v13, v14, v9, v10, v11}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->constructManageChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;[I[Lcom/facebook/react/uimanager/ViewAtIndex;[I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v1
:cond_74
if-ge v3, v1, :cond_98
invoke-virtual {v14, v13, v3}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildAt(Landroid/view/ViewGroup;I)Landroid/view/View;
move-result-object v1
iget-boolean v4, v8, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimationEnabled:Z
if-eqz v4, :cond_91
iget-object v4, v8, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimator:Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;
invoke-virtual {v4, v1}, Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;->shouldAnimateLayout(Landroid/view/View;)Z
move-result v4
if-eqz v4, :cond_91
invoke-virtual {v1}, Landroid/view/View;->getId()I
move-result v1
invoke-direct {v8, v11, v1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->arrayContains([II)Z
move-result v1
if-eqz v1, :cond_91
goto :goto_94
:cond_91
invoke-virtual {v14, v13, v3}, Lcom/facebook/react/uimanager/ViewGroupManager;->removeViewAt(Landroid/view/ViewGroup;I)V
:goto_94
add-int/lit8 v2, v2, -0x1
move v1, v3
goto :goto_2d
:cond_98
new-instance v1, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Trying to remove an out of order view index:"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, " view tag: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, "\n detail: "
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v13, v14, v9, v10, v11}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->constructManageChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;[I[Lcom/facebook/react/uimanager/ViewAtIndex;[I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v1
:cond_c3
new-instance v1, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Trying to remove a negative view index:"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, " view tag: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, "\n detail: "
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v13, v14, v9, v10, v11}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->constructManageChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;[I[Lcom/facebook/react/uimanager/ViewAtIndex;[I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v1
:cond_ee
if-eqz v11, :cond_15f
const/4 v7, 0x0
:goto_f1
array-length v1, v11
if-ge v7, v1, :cond_15f
aget v1, v11, v7
iget-object v2, v8, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v2, v1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v2
move-object v6, v2
check-cast v6, Landroid/view/View;
if-eqz v6, :cond_13a
iget-boolean v2, v8, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimationEnabled:Z
if-eqz v2, :cond_12d
iget-object v2, v8, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimator:Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;
invoke-virtual {v2, v6}, Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;->shouldAnimateLayout(Landroid/view/View;)Z
move-result v2
if-eqz v2, :cond_12d
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {v12, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
iget-object v5, v8, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimator:Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;
new-instance v4, Lcom/facebook/react/uimanager/NativeViewHierarchyManager$1;
move-object v1, v4
move-object/from16 v2, p0
move-object v3, v14
move-object v15, v4
move-object v4, v13
move-object v0, v5
move-object v5, v6
move-object v9, v6
move-object v6, v12
move/from16 v16, v7
move/from16 v7, p1
invoke-direct/range {v1 .. v7}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager$1;-><init>(Lcom/facebook/react/uimanager/NativeViewHierarchyManager;Lcom/facebook/react/uimanager/ViewGroupManager;Landroid/view/ViewGroup;Landroid/view/View;Ljava/util/Set;I)V
invoke-virtual {v0, v9, v15}, Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;->deleteView(Landroid/view/View;Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationListener;)V
goto :goto_133
:cond_12d
move-object v9, v6
move/from16 v16, v7
invoke-virtual {v8, v9}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->dropView(Landroid/view/View;)V
:goto_133
add-int/lit8 v7, v16, 0x1
move/from16 v0, p1
move-object/from16 v9, p2
goto :goto_f1
:cond_13a
new-instance v0, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Trying to destroy unknown view tag: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, "\n detail: "
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-object/from16 v1, p2
invoke-static {v13, v14, v1, v10, v11}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->constructManageChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;[I[Lcom/facebook/react/uimanager/ViewAtIndex;[I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v0
:cond_15f
move-object v1, v9
if-eqz v10, :cond_1cb
const/4 v0, 0x0
:goto_163
array-length v2, v10
if-ge v0, v2, :cond_1cb
aget-object v2, v10, v0
iget-object v3, v8, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
iget v4, v2, Lcom/facebook/react/uimanager/ViewAtIndex;->mTag:I
invoke-virtual {v3, v4}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/view/View;
if-eqz v3, :cond_1a6
iget v4, v2, Lcom/facebook/react/uimanager/ViewAtIndex;->mIndex:I
invoke-interface {v12}, Ljava/util/Set;->isEmpty()Z
move-result v5
if-nez v5, :cond_1a0
const/4 v4, 0x0
const/4 v5, 0x0
:goto_17e
invoke-virtual {v13}, Landroid/view/ViewGroup;->getChildCount()I
move-result v6
if-ge v4, v6, :cond_1a0
iget v6, v2, Lcom/facebook/react/uimanager/ViewAtIndex;->mIndex:I
if-ne v5, v6, :cond_189
goto :goto_1a0
:cond_189
invoke-virtual {v13, v4}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v6
invoke-virtual {v6}, Landroid/view/View;->getId()I
move-result v6
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
invoke-interface {v12, v6}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_19d
add-int/lit8 v5, v5, 0x1
:cond_19d
add-int/lit8 v4, v4, 0x1
goto :goto_17e
:cond_1a0
:goto_1a0
invoke-virtual {v14, v13, v3, v4}, Lcom/facebook/react/uimanager/ViewGroupManager;->addView(Landroid/view/ViewGroup;Landroid/view/View;I)V
add-int/lit8 v0, v0, 0x1
goto :goto_163
:cond_1a6
new-instance v0, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Trying to add unknown view tag: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v2, v2, Lcom/facebook/react/uimanager/ViewAtIndex;->mTag:I
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, "\n detail: "
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v13, v14, v1, v10, v11}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->constructManageChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;[I[Lcom/facebook/react/uimanager/ViewAtIndex;[I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v0
:cond_1cb
invoke-interface {v12}, Ljava/util/Set;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1da
iget-object v0, v8, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPendingDeletionsForTag:Ljava/util/HashMap;
invoke-static/range {p1 .. p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
:try_end_1da
.catchall {:try_start_49 .. :try_end_1da} :catchall_202
:cond_1da
monitor-exit p0
return-void
:cond_1dc
move-object v1, v9
:try_start_1dd
new-instance v0, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Trying to manageChildren view with tag "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move/from16 v3, p1
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, " which doesn\'t exist\n detail: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v13, v14, v1, v10, v11}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->constructManageChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;[I[Lcom/facebook/react/uimanager/ViewAtIndex;[I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_202
.catchall {:try_start_1dd .. :try_end_202} :catchall_202
:catchall_202
move-exception v0
monitor-exit p0
goto :goto_206
:goto_205
throw v0
:goto_206
goto :goto_205
.end method
.method public declared-synchronized measure(I[I)V
.registers 7
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
if-eqz v0, :cond_4a
invoke-static {v0}, Lcom/facebook/react/uimanager/RootViewUtil;->getRootView(Landroid/view/View;)Lcom/facebook/react/uimanager/RootView;
move-result-object v1
check-cast v1, Landroid/view/View;
if-eqz v1, :cond_2e
invoke-direct {p0, v1, p2}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->computeBoundingBox(Landroid/view/View;[I)V
const/4 p1, 0x0
aget v1, p2, p1
const/4 v2, 0x1
aget v3, p2, v2
invoke-direct {p0, v0, p2}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->computeBoundingBox(Landroid/view/View;[I)V
aget v0, p2, p1
sub-int/2addr v0, v1
aput v0, p2, p1
aget p1, p2, v2
sub-int/2addr p1, v3
aput p1, p2, v2
:try_end_2c
.catchall {:try_start_1 .. :try_end_2c} :catchall_66
monitor-exit p0
return-void
:cond_2e
:try_start_2e
new-instance p2, Lcom/facebook/react/uimanager/NoSuchNativeViewException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Native view "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " is no longer on screen"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Lcom/facebook/react/uimanager/NoSuchNativeViewException;-><init>(Ljava/lang/String;)V
throw p2
:cond_4a
new-instance p2, Lcom/facebook/react/uimanager/NoSuchNativeViewException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "No native view for "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " currently exists"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Lcom/facebook/react/uimanager/NoSuchNativeViewException;-><init>(Ljava/lang/String;)V
throw p2
:try_end_66
.catchall {:try_start_2e .. :try_end_66} :catchall_66
:catchall_66
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized measureInWindow(I[I)V
.registers 7
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
if-eqz v0, :cond_40
invoke-virtual {v0, p2}, Landroid/view/View;->getLocationOnScreen([I)V
invoke-virtual {v0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object p1
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p1
const-string v1, "status_bar_height"
const-string v2, "dimen"
const-string v3, "android"
invoke-virtual {p1, v1, v2, v3}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v1
if-lez v1, :cond_30
invoke-virtual {p1, v1}, Landroid/content/res/Resources;->getDimension(I)F
move-result p1
float-to-int p1, p1
const/4 v1, 0x1
aget v2, p2, v1
sub-int/2addr v2, p1
aput v2, p2, v1
:cond_30
const/4 p1, 0x2
invoke-virtual {v0}, Landroid/view/View;->getWidth()I
move-result v1
aput v1, p2, p1
const/4 p1, 0x3
invoke-virtual {v0}, Landroid/view/View;->getHeight()I
move-result v0
aput v0, p2, p1
:try_end_3e
.catchall {:try_start_1 .. :try_end_3e} :catchall_5c
monitor-exit p0
return-void
:cond_40
:try_start_40
new-instance p2, Lcom/facebook/react/uimanager/NoSuchNativeViewException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "No native view for "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " currently exists"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Lcom/facebook/react/uimanager/NoSuchNativeViewException;-><init>(Ljava/lang/String;)V
throw p2
:try_end_5c
.catchall {:try_start_40 .. :try_end_5c} :catchall_5c
:catchall_5c
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized removeRootView(I)V
.registers 4
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mRootTags:Landroid/util/SparseBooleanArray;
invoke-virtual {v0, p1}, Landroid/util/SparseBooleanArray;->get(I)Z
move-result v0
if-nez v0, :cond_25
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "View with tag "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, " is not registered as a root view"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/facebook/react/bridge/SoftAssertions;->assertUnreachable(Ljava/lang/String;)V
:cond_25
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
invoke-virtual {p0, v0}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->dropView(Landroid/view/View;)V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mRootTags:Landroid/util/SparseBooleanArray;
invoke-virtual {v0, p1}, Landroid/util/SparseBooleanArray;->delete(I)V
:try_end_35
.catchall {:try_start_1 .. :try_end_35} :catchall_37
monitor-exit p0
return-void
:catchall_37
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized resolveView(I)Landroid/view/View;
.registers 5
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
:try_end_9
.catchall {:try_start_1 .. :try_end_9} :catchall_29
if-eqz v0, :cond_d
monitor-exit p0
return-object v0
:cond_d
:try_start_d
new-instance v0, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Trying to resolve view with tag "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " which doesn\'t exist"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_29
.catchall {:try_start_d .. :try_end_29} :catchall_29
:catchall_29
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
.registers 5
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViewManagers:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/facebook/react/uimanager/ViewManager;
:try_end_9
.catchall {:try_start_1 .. :try_end_9} :catchall_29
if-eqz v0, :cond_d
monitor-exit p0
return-object v0
:cond_d
:try_start_d
new-instance v0, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "ViewManager for tag "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " could not be found.\n"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_29
.catchall {:try_start_d .. :try_end_29} :catchall_29
:catchall_29
move-exception p1
monitor-exit p0
throw p1
.end method
.method public sendAccessibilityEvent(II)V
.registers 5
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
if-eqz v0, :cond_e
invoke-virtual {v0, p2}, Landroid/view/View;->sendAccessibilityEvent(I)V
return-void
:cond_e
new-instance p2, Lcom/facebook/react/bridge/JSApplicationIllegalArgumentException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Could not find view with tag "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Lcom/facebook/react/bridge/JSApplicationIllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p2
.end method
.method public declared-synchronized setChildren(ILcom/facebook/react/bridge/ReadableArray;)V
.registers 8
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/ViewGroup;
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
move-result-object p1
check-cast p1, Lcom/facebook/react/uimanager/ViewGroupManager;
const/4 v1, 0x0
:goto_13
invoke-interface {p2}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v2
if-ge v1, v2, :cond_54
iget-object v2, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-interface {p2, v1}, Lcom/facebook/react/bridge/ReadableArray;->getInt(I)I
move-result v3
invoke-virtual {v2, v3}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/view/View;
if-eqz v2, :cond_2d
invoke-virtual {p1, v0, v2, v1}, Lcom/facebook/react/uimanager/ViewGroupManager;->addView(Landroid/view/ViewGroup;Landroid/view/View;I)V
add-int/lit8 v1, v1, 0x1
goto :goto_13
:cond_2d
new-instance v2, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Trying to add unknown view tag: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {p2, v1}, Lcom/facebook/react/bridge/ReadableArray;->getInt(I)I
move-result v1
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, "\n detail: "
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v0, p1, p2}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->constructSetChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;Lcom/facebook/react/bridge/ReadableArray;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v2, p1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v2
:try_end_54
.catchall {:try_start_1 .. :try_end_54} :catchall_56
:cond_54
monitor-exit p0
return-void
:catchall_56
move-exception p1
monitor-exit p0
goto :goto_5a
:goto_59
throw p1
:goto_5a
goto :goto_59
.end method
.method public declared-synchronized setJSResponder(IIZ)V
.registers 6
monitor-enter p0
if-nez p3, :cond_b
:try_start_3
iget-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mJSResponderHandler:Lcom/facebook/react/touch/JSResponderHandler;
const/4 p3, 0x0
invoke-virtual {p1, p2, p3}, Lcom/facebook/react/touch/JSResponderHandler;->setJSResponder(ILandroid/view/ViewParent;)V
:try_end_9
.catchall {:try_start_3 .. :try_end_9} :catchall_4e
monitor-exit p0
return-void
:cond_b
:try_start_b
iget-object p3, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {p3, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object p3
check-cast p3, Landroid/view/View;
if-eq p2, p1, :cond_22
instance-of v0, p3, Landroid/view/ViewParent;
if-eqz v0, :cond_22
iget-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mJSResponderHandler:Lcom/facebook/react/touch/JSResponderHandler;
check-cast p3, Landroid/view/ViewParent;
invoke-virtual {p1, p2, p3}, Lcom/facebook/react/touch/JSResponderHandler;->setJSResponder(ILandroid/view/ViewParent;)V
:try_end_20
.catchall {:try_start_b .. :try_end_20} :catchall_4e
monitor-exit p0
return-void
:cond_22
:try_start_22
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mRootTags:Landroid/util/SparseBooleanArray;
invoke-virtual {v0, p1}, Landroid/util/SparseBooleanArray;->get(I)Z
move-result v0
if-eqz v0, :cond_43
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Cannot block native responder on "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " that is a root view"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lcom/facebook/react/bridge/SoftAssertions;->assertUnreachable(Ljava/lang/String;)V
:cond_43
iget-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mJSResponderHandler:Lcom/facebook/react/touch/JSResponderHandler;
invoke-virtual {p3}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object p3
invoke-virtual {p1, p2, p3}, Lcom/facebook/react/touch/JSResponderHandler;->setJSResponder(ILandroid/view/ViewParent;)V
:try_end_4c
.catchall {:try_start_22 .. :try_end_4c} :catchall_4e
monitor-exit p0
return-void
:catchall_4e
move-exception p1
monitor-exit p0
throw p1
.end method
.method public setLayoutAnimationEnabled(Z)V
.registers 2
iput-boolean p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mLayoutAnimationEnabled:Z
return-void
.end method
.method public declared-synchronized showPopupMenu(ILcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/Callback;Lcom/facebook/react/bridge/Callback;)V
.registers 7
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViews:Landroid/util/SparseArray;
invoke-virtual {v0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
const/4 v1, 0x0
if-nez v0, :cond_2a
const/4 p2, 0x1
new-array p2, p2, [Ljava/lang/Object;
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Can\'t display popup. Could not find view with tag "
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
aput-object p1, p2, v1
invoke-interface {p4, p2}, Lcom/facebook/react/bridge/Callback;->invoke([Ljava/lang/Object;)V
:try_end_28
.catchall {:try_start_1 .. :try_end_28} :catchall_61
monitor-exit p0
return-void
:cond_2a
:try_start_2a
new-instance p4, Landroid/widget/PopupMenu;
invoke-direct {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->getReactContextForView(I)Lcom/facebook/react/uimanager/ThemedReactContext;
move-result-object p1
invoke-direct {p4, p1, v0}, Landroid/widget/PopupMenu;-><init>(Landroid/content/Context;Landroid/view/View;)V
iput-object p4, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPopupMenu:Landroid/widget/PopupMenu;
invoke-virtual {p4}, Landroid/widget/PopupMenu;->getMenu()Landroid/view/Menu;
move-result-object p1
const/4 p4, 0x0
:goto_3a
invoke-interface {p2}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v0
if-ge p4, v0, :cond_4a
invoke-interface {p2, p4}, Lcom/facebook/react/bridge/ReadableArray;->getString(I)Ljava/lang/String;
move-result-object v0
invoke-interface {p1, v1, v1, p4, v0}, Landroid/view/Menu;->add(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
add-int/lit8 p4, p4, 0x1
goto :goto_3a
:cond_4a
new-instance p1, Lcom/facebook/react/uimanager/NativeViewHierarchyManager$PopupMenuCallbackHandler;
const/4 p2, 0x0
invoke-direct {p1, p3, p2}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager$PopupMenuCallbackHandler;-><init>(Lcom/facebook/react/bridge/Callback;Lcom/facebook/react/uimanager/NativeViewHierarchyManager$1;)V
iget-object p2, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPopupMenu:Landroid/widget/PopupMenu;
invoke-virtual {p2, p1}, Landroid/widget/PopupMenu;->setOnMenuItemClickListener(Landroid/widget/PopupMenu$OnMenuItemClickListener;)V
iget-object p2, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPopupMenu:Landroid/widget/PopupMenu;
invoke-virtual {p2, p1}, Landroid/widget/PopupMenu;->setOnDismissListener(Landroid/widget/PopupMenu$OnDismissListener;)V
iget-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPopupMenu:Landroid/widget/PopupMenu;
invoke-virtual {p1}, Landroid/widget/PopupMenu;->show()V
:try_end_5f
.catchall {:try_start_2a .. :try_end_5f} :catchall_61
monitor-exit p0
return-void
:catchall_61
move-exception p1
monitor-exit p0
goto :goto_65
:goto_64
throw p1
:goto_65
goto :goto_64
.end method
.method public declared-synchronized updateInstanceHandle(IJ)V
.registers 6
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
:try_end_4
.catchall {:try_start_1 .. :try_end_4} :catchall_25
:try_start_4
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveView(I)Landroid/view/View;
move-result-object v0
invoke-direct {p0, v0, p2, p3}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->updateInstanceHandle(Landroid/view/View;J)V
:try_end_b
.catch Lcom/facebook/react/uimanager/IllegalViewOperationException; {:try_start_4 .. :try_end_b} :catch_c
.catchall {:try_start_4 .. :try_end_b} :catchall_25
goto :goto_23
:catch_c
move-exception p2
:try_start_d
sget-object p3, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->TAG:Ljava/lang/String;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Unable to update properties for view tag "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p3, p1, p2}, Lcom/facebook/common/logging/FLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:try_end_23
.catchall {:try_start_d .. :try_end_23} :catchall_25
:goto_23
monitor-exit p0
return-void
:catchall_25
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized updateLayout(IIIIII)V
.registers 16
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
const-string v0, "NativeViewHierarchyManager_updateLayout"
const-wide/16 v1, 0x0
invoke-static {v1, v2, v0}, Lcom/facebook/systrace/SystraceMessage;->beginSection(JLjava/lang/String;)Lcom/facebook/systrace/SystraceMessage$Builder;
move-result-object v0
const-string v3, "parentTag"
invoke-virtual {v0, v3, p1}, Lcom/facebook/systrace/SystraceMessage$Builder;->arg(Ljava/lang/String;I)Lcom/facebook/systrace/SystraceMessage$Builder;
move-result-object v0
const-string v3, "tag"
invoke-virtual {v0, v3, p2}, Lcom/facebook/systrace/SystraceMessage$Builder;->arg(Ljava/lang/String;I)Lcom/facebook/systrace/SystraceMessage$Builder;
move-result-object v0
invoke-virtual {v0}, Lcom/facebook/systrace/SystraceMessage$Builder;->flush()V
:try_end_1b
.catchall {:try_start_1 .. :try_end_1b} :catchall_8c
:try_start_1b
invoke-virtual {p0, p2}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveView(I)Landroid/view/View;
move-result-object v4
const/high16 p2, 0x40000000 # 2.0f
invoke-static {p5, p2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v0
invoke-static {p6, p2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result p2
invoke-virtual {v4, v0, p2}, Landroid/view/View;->measure(II)V
invoke-virtual {v4}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object p2
instance-of v0, p2, Lcom/facebook/react/uimanager/RootView;
if-eqz v0, :cond_37
invoke-interface {p2}, Landroid/view/ViewParent;->requestLayout()V
:cond_37
iget-object p2, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mRootTags:Landroid/util/SparseBooleanArray;
invoke-virtual {p2, p1}, Landroid/util/SparseBooleanArray;->get(I)Z
move-result p2
if-nez p2, :cond_7a
iget-object p2, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mTagsToViewManagers:Landroid/util/SparseArray;
invoke-virtual {p2, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object p2
check-cast p2, Lcom/facebook/react/uimanager/ViewManager;
instance-of v0, p2, Lcom/facebook/react/uimanager/IViewManagerWithChildren;
if-eqz v0, :cond_5e
check-cast p2, Lcom/facebook/react/uimanager/IViewManagerWithChildren;
if-eqz p2, :cond_82
invoke-interface {p2}, Lcom/facebook/react/uimanager/IViewManagerWithChildren;->needsCustomLayoutForChildren()Z
move-result p1
if-nez p1, :cond_82
move-object v3, p0
move v5, p3
move v6, p4
move v7, p5
move v8, p6
invoke-direct/range {v3 .. v8}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->updateLayout(Landroid/view/View;IIII)V
goto :goto_82
:cond_5e
new-instance p2, Lcom/facebook/react/uimanager/IllegalViewOperationException;
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
const-string p4, "Trying to use view with tag "
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " as a parent, but its Manager doesn\'t implement IViewManagerWithChildren"
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw p2
:cond_7a
move-object v3, p0
move v5, p3
move v6, p4
move v7, p5
move v8, p6
invoke-direct/range {v3 .. v8}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->updateLayout(Landroid/view/View;IIII)V
:try_end_82
.catchall {:try_start_1b .. :try_end_82} :catchall_87
:cond_82
:goto_82
:try_start_82
invoke-static {v1, v2}, Lcom/facebook/systrace/Systrace;->endSection(J)V
:try_end_85
.catchall {:try_start_82 .. :try_end_85} :catchall_8c
monitor-exit p0
return-void
:catchall_87
move-exception p1
:try_start_88
invoke-static {v1, v2}, Lcom/facebook/systrace/Systrace;->endSection(J)V
throw p1
:try_end_8c
.catchall {:try_start_88 .. :try_end_8c} :catchall_8c
:catchall_8c
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized updateProperties(ILcom/facebook/react/uimanager/ReactStylesDiffMap;)V
.registers 6
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
:try_end_4
.catchall {:try_start_1 .. :try_end_4} :catchall_2b
:try_start_4
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
move-result-object v0
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveView(I)Landroid/view/View;
move-result-object v1
if-eqz p2, :cond_29
invoke-virtual {v0, v1, p2}, Lcom/facebook/react/uimanager/ViewManager;->updateProperties(Landroid/view/View;Lcom/facebook/react/uimanager/ReactStylesDiffMap;)V
:try_end_11
.catch Lcom/facebook/react/uimanager/IllegalViewOperationException; {:try_start_4 .. :try_end_11} :catch_12
.catchall {:try_start_4 .. :try_end_11} :catchall_2b
goto :goto_29
:catch_12
move-exception p2
:try_start_13
sget-object v0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unable to update properties for view tag "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v0, p1, p2}, Lcom/facebook/common/logging/FLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:try_end_29
.catchall {:try_start_13 .. :try_end_29} :catchall_2b
:cond_29
:goto_29
monitor-exit p0
return-void
:catchall_2b
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized updateViewExtraData(ILjava/lang/Object;)V
.registers 4
monitor-enter p0
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
move-result-object v0
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveView(I)Landroid/view/View;
move-result-object p1
invoke-virtual {v0, p1, p2}, Lcom/facebook/react/uimanager/ViewManager;->updateExtraData(Landroid/view/View;Ljava/lang/Object;)V
:try_end_f
.catchall {:try_start_1 .. :try_end_f} :catchall_11
monitor-exit p0
return-void
:catchall_11
move-exception p1
monitor-exit p0
throw p1
.end method