NativeViewHierarchyManager.smali
.class public Lcom/facebook/react/uimanager/NativeViewHierarchyManager;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/react/uimanager/NativeViewHierarchyManager$PopupMenuCallbackHandler;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "NativeViewHierarchyManager"
# instance fields
.field private final mBoundingBox:Landroid/graphics/RectF;
.field private final mJSResponderHandler:Lcom/facebook/react/touch/JSResponderHandler;
.field private mLayoutAnimationEnabled:Z
.field private final mLayoutAnimator:Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;
.field private 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 private mPopupMenu:Landroid/widget/PopupMenu;
.field private final mRootTags:Landroid/util/SparseBooleanArray;
.field private final mRootViewManager:Lcom/facebook/react/uimanager/RootViewManager;
.field private final mTagsToViewManagers:Landroid/util/SparseArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/util/SparseArray<",
"Lcom/facebook/react/uimanager/ViewManager;",
">;"
}
.end annotation
.end field
.field private final mTagsToViews:Landroid/util/SparseArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/util/SparseArray<",
"Landroid/view/View;",
">;"
}
.end annotation
.end field
.field private final mViewManagers:Lcom/facebook/react/uimanager/ViewManagerRegistry;
# direct methods
.method public constructor <init>(Lcom/facebook/react/uimanager/ViewManagerRegistry;)V
.registers 3
.line 1
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
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
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;
.line 4
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;
.line 5
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;
.line 6
iput-object p1, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mViewManagers:Lcom/facebook/react/uimanager/ViewManagerRegistry;
.line 7
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;
.line 8
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;
.line 9
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;
.line 10
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
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
.line 1
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
.line 2
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
.line 3
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
.line 4
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
.line 5
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
.line 6
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 private static constructManageChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;[I[Lcom/facebook/react/uimanager/ViewAtIndex;[I)Ljava/lang/String;
.registers 15
.line 1
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
if-eqz p0, :cond_7b
const-string v6, "View tag:"
.line 2
invoke-static {v6}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
.line 3
invoke-virtual {p0}, Landroid/view/View;->getId()I
move-result v7
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 4
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, " children("
invoke-virtual {v6, v7}, 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 v7
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v6, 0x0
.line 5
:goto_44
invoke-virtual {p1, p0}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildCount(Landroid/view/ViewGroup;)I
move-result v7
if-ge v6, v7, :cond_78
const/4 v7, 0x0
:goto_4b
add-int v8, v6, v7
.line 6
invoke-virtual {p1, p0}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildCount(Landroid/view/ViewGroup;)I
move-result v9
if-ge v8, v9, :cond_72
if-ge v7, v5, :cond_72
.line 7
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
.line 8
invoke-virtual {p1, p0, v8}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildAt(Landroid/view/ViewGroup;I)Landroid/view/View;
move-result-object v8
invoke-virtual {v8}, Landroid/view/View;->getId()I
move-result v8
invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
.line 9
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v7, v7, 0x1
goto :goto_4b
.line 10
:cond_72
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v6, v6, 0x10
goto :goto_44
.line 11
:cond_78
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_7b
if-eqz p2, :cond_bd
const-string p0, " indicesToRemove("
.line 12
invoke-static {p0}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
.line 13
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
.line 14
:goto_92
array-length p1, p2
if-ge p0, p1, :cond_ba
const/4 p1, 0x0
:goto_96
add-int v6, p0, p1
.line 15
array-length v7, p2
if-ge v6, v7, :cond_b4
if-ge p1, v5, :cond_b4
.line 16
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
aget v6, p2, v6
invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, 0x1
goto :goto_96
.line 17
:cond_b4
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p0, p0, 0x10
goto :goto_92
.line 18
:cond_ba
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_bd
if-eqz p3, :cond_10e
const-string p0, " viewsToAdd("
.line 19
invoke-static {p0}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
.line 20
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
.line 21
:goto_d4
array-length p1, p3
if-ge p0, p1, :cond_10b
const/4 p1, 0x0
:goto_d8
add-int p2, p0, p1
.line 22
array-length v6, p3
if-ge p2, v6, :cond_105
if-ge p1, v5, :cond_105
const-string v6, "["
.line 23
invoke-static {v6}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
.line 24
aget-object v7, p3, p2
iget v7, v7, Lcom/facebook/react/uimanager/ViewAtIndex;->mIndex:I
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v6, 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 {v6, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p2, "],"
invoke-virtual {v6, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, 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_d8
.line 25
:cond_105
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p0, p0, 0x10
goto :goto_d4
.line 26
:cond_10b
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_10e
if-eqz p4, :cond_152
const-string p0, " tagsToDelete("
.line 27
invoke-static {p0}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
.line 28
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
.line 29
:goto_125
array-length p1, p4
if-ge p0, p1, :cond_14d
const/4 p1, 0x0
:goto_129
add-int p2, p0, p1
.line 30
array-length p3, p4
if-ge p2, p3, :cond_147
if-ge p1, v5, :cond_147
.line 31
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_129
.line 32
:cond_147
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p0, p0, 0x10
goto :goto_125
:cond_14d
const-string p0, " ]\n"
.line 33
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 34
:cond_152
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static constructSetChildrenErrorMessage(Landroid/view/ViewGroup;Lcom/facebook/react/uimanager/ViewGroupManager;Lcom/facebook/react/bridge/ReadableArray;)Ljava/lang/String;
.registers 7
.line 1
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
.line 2
:goto_7
invoke-interface {p2}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v2
if-ge v1, v2, :cond_1b
.line 3
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
.line 4
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
.line 1
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPendingDeletionsForTag:Ljava/util/HashMap;
if-nez v0, :cond_b
.line 2
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;
.line 3
: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
.line 4
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;
.line 5
: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 4
.line 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;
if-eqz v0, :cond_11
.line 2
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
.line 3
:cond_11
new-instance v0, Lcom/facebook/react/bridge/JSApplicationIllegalArgumentException;
const-string v1, "Could not find view with tag "
.line 4
invoke-static {v1, p1}, Landroidx/appcompat/widget/h;->a(Ljava/lang/String;I)Ljava/lang/String;
move-result-object p1
.line 5
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
.line 1
invoke-virtual {p1}, Landroid/view/View;->getMatrix()Landroid/graphics/Matrix;
move-result-object v0
.line 2
invoke-virtual {v0}, Landroid/graphics/Matrix;->isIdentity()Z
move-result v1
if-nez v1, :cond_d
.line 3
invoke-virtual {v0, p2}, Landroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z
.line 4
: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
.line 5
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object p1
.line 6
:goto_1e
instance-of v0, p1, Landroid/view/View;
if-eqz v0, :cond_52
.line 7
check-cast p1, Landroid/view/View;
.line 8
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
.line 9
invoke-virtual {p1}, Landroid/view/View;->getMatrix()Landroid/graphics/Matrix;
move-result-object v0
.line 10
invoke-virtual {v0}, Landroid/graphics/Matrix;->isIdentity()Z
move-result v1
if-nez v1, :cond_40
.line 11
invoke-virtual {v0, p2}, Landroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z
.line 12
: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
.line 13
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
.line 5
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 6
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
.line 25
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
.line 26
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
.line 27
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
.line 1
: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
.line 2
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
.line 1
:try_start_1
invoke-virtual {p2}, Landroid/view/View;->getId()I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_27
.line 2
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;
.line 3
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
.line 4
invoke-static {v0, v1}, Lcom/facebook/common/logging/FLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 5
: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
.line 6
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
.line 7
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
.line 8
invoke-virtual {p2, p1}, Landroid/view/View;->setId(I)V
:try_end_3c
.catchall {:try_start_1 .. :try_end_3c} :catchall_3e
.line 9
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
monitor-enter p0
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
const-string v0, "NativeViewHierarchyManager_createView"
const-wide/16 v1, 0x0
.line 2
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"
.line 3
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"
.line 4
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
.line 5
invoke-virtual {v0}, Lcom/facebook/systrace/SystraceMessage$Builder;->flush()V
:try_end_1b
.catchall {:try_start_1 .. :try_end_1b} :catchall_47
.line 6
:try_start_1b
invoke-static {p1, p3}, Lcom/facebook/react/util/RNTracker;->onCreateView(Lcom/facebook/react/uimanager/ThemedReactContext;Ljava/lang/String;)V
.line 7
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
.line 8
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
.line 9
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
.line 10
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
.line 11
invoke-virtual {p1, p2}, Landroid/view/View;->setId(I)V
if-eqz p4, :cond_3d
.line 12
invoke-virtual {p3, p1, p4}, Lcom/facebook/react/uimanager/ViewManager;->updateProperties(Landroid/view/View;Lcom/facebook/react/uimanager/ReactStylesDiffMap;)V
:try_end_3d
.catchall {:try_start_1b .. :try_end_3d} :catchall_42
.line 13
:cond_3d
:try_start_3d
invoke-static {v1, v2}, Lcom/facebook/systrace/Systrace;->endSection(J)V
:try_end_40
.catchall {:try_start_3d .. :try_end_40} :catchall_47
.line 14
monitor-exit p0
return-void
:catchall_42
move-exception p1
.line 15
:try_start_43
invoke-static {v1, v2}, Lcom/facebook/systrace/Systrace;->endSection(J)V
.line 16
throw p1
:try_end_47
.catchall {:try_start_43 .. :try_end_47} :catchall_47
:catchall_47
move-exception p1
monitor-exit p0
throw p1
.end method
.method public dismissPopupMenu()V
.registers 2
.line 1
iget-object v0, p0, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->mPopupMenu:Landroid/widget/PopupMenu;
if-eqz v0, :cond_7
.line 2
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
.annotation runtime Ljava/lang/Deprecated;
.end annotation
monitor-enter p0
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
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
.line 3
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
move-result-object p1
.line 4
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
.line 5
monitor-exit p0
return-void
.line 6
: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
monitor-enter p0
.line 7
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 8
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
.line 9
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
move-result-object p1
.line 10
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
.line 11
monitor-exit p0
return-void
.line 12
: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
.line 1
: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
.line 2
monitor-exit p0
return-void
.line 3
: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
.line 4
monitor-exit p0
return-void
.line 5
: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
.line 6
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
.line 7
: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;
.line 8
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
.line 9
move-object v1, p1
check-cast v1, Landroid/view/ViewGroup;
.line 10
check-cast v0, Lcom/facebook/react/uimanager/ViewGroupManager;
.line 11
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
.line 12
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
.line 13
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
.line 14
: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
.line 15
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
.line 16
:cond_6e
invoke-virtual {v0, v1}, Lcom/facebook/react/uimanager/ViewGroupManager;->removeAllViews(Landroid/view/ViewGroup;)V
.line 17
: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
.line 18
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
.line 19
monitor-exit p0
return-void
:catchall_85
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized findTargetTagForTouch(IFF)I
.registers 5
monitor-enter p0
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
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
.line 3
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
.line 4
: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 4
.line 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;
if-eqz v0, :cond_25
.line 2
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
.line 3
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
return-wide v0
.line 4
:cond_19
new-instance v0, Lcom/facebook/react/uimanager/IllegalViewOperationException;
const-string v1, "Unable to find instanceHandle for tag: "
.line 5
invoke-static {v1, p1}, Landroidx/appcompat/widget/h;->a(Ljava/lang/String;I)Ljava/lang/String;
move-result-object p1
.line 6
invoke-direct {v0, p1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;)V
throw v0
.line 7
:cond_25
new-instance v0, Lcom/facebook/react/uimanager/IllegalViewOperationException;
const-string v1, "Unable to find view for tag: "
.line 8
invoke-static {v1, p1}, Landroidx/appcompat/widget/h;->a(Ljava/lang/String;I)Ljava/lang/String;
move-result-object p1
.line 9
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
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
.line 1
:try_start_b
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
invoke-direct/range {p0 .. p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->getPendingDeletionsForTag(I)Ljava/util/Set;
move-result-object v12
.line 3
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;
.line 4
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
.line 5
invoke-virtual {v14, v13}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildCount(Landroid/view/ViewGroup;)I
move-result v1
if-eqz v9, :cond_ee
.line 6
array-length v2, v9
add-int/lit8 v2, v2, -0x1
:goto_2d
if-ltz v2, :cond_ee
.line 7
aget v3, v9, v2
if-ltz v3, :cond_c3
.line 8
invoke-virtual {v14, v13}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildCount(Landroid/view/ViewGroup;)I
move-result v4
if-lt v3, v4, :cond_74
.line 9
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
.line 10
monitor-exit p0
return-void
.line 11
: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;
.line 12
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
.line 13
invoke-virtual {v14, v13, v3}, Lcom/facebook/react/uimanager/ViewGroupManager;->getChildAt(Landroid/view/ViewGroup;I)Landroid/view/View;
move-result-object v1
.line 14
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;
.line 15
invoke-virtual {v4, v1}, Lcom/facebook/react/uimanager/layoutanimation/LayoutAnimationController;->shouldAnimateLayout(Landroid/view/View;)Z
move-result v4
if-eqz v4, :cond_91
.line 16
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
.line 17
: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
.line 18
: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;
.line 19
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
.line 20
: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;
.line 21
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
.line 22
:goto_f1
array-length v1, v11
if-ge v7, v1, :cond_15f
.line 23
aget v1, v11, v7
.line 24
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
.line 25
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
.line 26
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
.line 27
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
.line 28
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
.line 29
: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
.line 30
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
.line 31
:goto_163
array-length v2, v10
if-ge v0, v2, :cond_1cb
.line 32
aget-object v2, v10, v0
.line 33
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
.line 34
iget v4, v2, Lcom/facebook/react/uimanager/ViewAtIndex;->mIndex:I
.line 35
invoke-interface {v12}, Ljava/util/Set;->isEmpty()Z
move-result v5
if-nez v5, :cond_1a0
const/4 v4, 0x0
const/4 v5, 0x0
.line 36
:goto_17e
invoke-virtual {v13}, Landroid/view/ViewGroup;->getChildCount()I
move-result v6
if-ge v4, v6, :cond_1a0
.line 37
iget v6, v2, Lcom/facebook/react/uimanager/ViewAtIndex;->mIndex:I
if-ne v5, v6, :cond_189
goto :goto_1a0
.line 38
:cond_189
invoke-virtual {v13, v4}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v6
.line 39
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
.line 40
: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
.line 41
: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;
.line 42
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
.line 43
:cond_1cb
invoke-interface {v12}, Ljava/util/Set;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1da
.line 44
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
.line 45
:cond_1da
monitor-exit p0
return-void
:cond_1dc
move-object v1, v9
.line 46
: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;
.line 47
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
throw v0
.end method
.method public declared-synchronized measure(I[I)V
.registers 7
monitor-enter p0
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
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
.line 3
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
.line 4
invoke-direct {p0, v1, p2}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->computeBoundingBox(Landroid/view/View;[I)V
const/4 p1, 0x0
.line 5
aget v1, p2, p1
const/4 v2, 0x1
.line 6
aget v3, p2, v2
.line 7
invoke-direct {p0, v0, p2}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->computeBoundingBox(Landroid/view/View;[I)V
.line 8
aget v0, p2, p1
sub-int/2addr v0, v1
aput v0, p2, p1
.line 9
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
.line 10
monitor-exit p0
return-void
.line 11
: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
.line 12
: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
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
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
.line 3
invoke-virtual {v0, p2}, Landroid/view/View;->getLocationOnScreen([I)V
.line 4
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"
.line 5
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
.line 6
invoke-virtual {p1, v1}, Landroid/content/res/Resources;->getDimension(I)F
move-result p1
float-to-int p1, p1
const/4 v1, 0x1
.line 7
aget v2, p2, v1
sub-int/2addr v2, p1
aput v2, p2, v1
:cond_30
const/4 p1, 0x2
.line 8
invoke-virtual {v0}, Landroid/view/View;->getWidth()I
move-result v1
aput v1, p2, p1
const/4 p1, 0x3
.line 9
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
.line 10
monitor-exit p0
return-void
.line 11
: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
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
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
.line 3
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
.line 4
: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;
.line 5
invoke-virtual {p0, v0}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->dropView(Landroid/view/View;)V
.line 6
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
.line 7
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
.line 1
: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
.line 2
monitor-exit p0
return-object v0
.line 3
: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
.line 1
: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
.line 2
monitor-exit p0
return-object v0
.line 3
: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 4
.line 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;
if-eqz v0, :cond_e
.line 2
invoke-virtual {v0, p2}, Landroid/view/View;->sendAccessibilityEvent(I)V
return-void
.line 3
:cond_e
new-instance p2, Lcom/facebook/react/bridge/JSApplicationIllegalArgumentException;
const-string v0, "Could not find view with tag "
.line 4
invoke-static {v0, p1}, Landroidx/appcompat/widget/h;->a(Ljava/lang/String;I)Ljava/lang/String;
move-result-object p1
.line 5
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
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
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;
.line 3
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
.line 4
:goto_13
invoke-interface {p2}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v2
if-ge v1, v2, :cond_54
.line 5
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
.line 6
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
.line 7
: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;
.line 8
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;
.line 9
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
.line 10
:cond_54
monitor-exit p0
return-void
:catchall_56
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized setJSResponder(IIZ)V
.registers 6
monitor-enter p0
if-nez p3, :cond_b
.line 1
: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
.line 2
monitor-exit p0
return-void
.line 3
: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
.line 4
instance-of v0, p3, Landroid/view/ViewParent;
if-eqz v0, :cond_22
.line 5
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
.line 6
monitor-exit p0
return-void
.line 7
: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
.line 8
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
.line 9
: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
.line 10
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
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
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;
.line 3
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
.line 4
monitor-exit p0
return-void
.line 5
: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;
.line 6
invoke-virtual {p4}, Landroid/widget/PopupMenu;->getMenu()Landroid/view/Menu;
move-result-object p1
const/4 p4, 0x0
.line 7
:goto_3a
invoke-interface {p2}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v0
if-ge p4, v0, :cond_4a
.line 8
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
.line 9
: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
.line 10
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
.line 11
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
.line 12
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
.line 13
monitor-exit p0
return-void
:catchall_61
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized updateInstanceHandle(IJ)V
.registers 6
monitor-enter p0
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
:try_end_4
.catchall {:try_start_1 .. :try_end_4} :catchall_25
.line 2
: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
.line 3
: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
.line 4
: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
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
const-string v0, "NativeViewHierarchyManager_updateLayout"
const-wide/16 v1, 0x0
.line 2
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"
.line 3
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"
.line 4
invoke-virtual {v0, v3, p2}, Lcom/facebook/systrace/SystraceMessage$Builder;->arg(Ljava/lang/String;I)Lcom/facebook/systrace/SystraceMessage$Builder;
move-result-object v0
.line 5
invoke-virtual {v0}, Lcom/facebook/systrace/SystraceMessage$Builder;->flush()V
:try_end_1b
.catchall {:try_start_1 .. :try_end_1b} :catchall_8c
.line 6
: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
.line 7
invoke-static {p5, p2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v0
.line 8
invoke-static {p6, p2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result p2
.line 9
invoke-virtual {v4, v0, p2}, Landroid/view/View;->measure(II)V
.line 10
invoke-virtual {v4}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object p2
.line 11
instance-of v0, p2, Lcom/facebook/react/uimanager/RootView;
if-eqz v0, :cond_37
.line 12
invoke-interface {p2}, Landroid/view/ViewParent;->requestLayout()V
.line 13
: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
.line 14
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;
.line 15
instance-of v0, p2, Lcom/facebook/react/uimanager/IViewManagerWithChildren;
if-eqz v0, :cond_5e
.line 16
check-cast p2, Lcom/facebook/react/uimanager/IViewManagerWithChildren;
if-eqz p2, :cond_82
.line 17
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
.line 18
invoke-direct/range {v3 .. v8}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->updateLayout(Landroid/view/View;IIII)V
goto :goto_82
.line 19
: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
.line 20
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
.line 21
: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
.line 22
monitor-exit p0
return-void
:catchall_87
move-exception p1
.line 23
:try_start_88
invoke-static {v1, v2}, Lcom/facebook/systrace/Systrace;->endSection(J)V
.line 24
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
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
:try_end_4
.catchall {:try_start_1 .. :try_end_4} :catchall_2b
.line 2
:try_start_4
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
move-result-object v0
.line 3
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveView(I)Landroid/view/View;
move-result-object v1
if-eqz p2, :cond_29
.line 4
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
.line 5
: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
.line 6
: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
.line 1
:try_start_1
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
.line 2
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveViewManager(I)Lcom/facebook/react/uimanager/ViewManager;
move-result-object v0
.line 3
invoke-virtual {p0, p1}, Lcom/facebook/react/uimanager/NativeViewHierarchyManager;->resolveView(I)Landroid/view/View;
move-result-object p1
.line 4
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
.line 5
monitor-exit p0
return-void
:catchall_11
move-exception p1
monitor-exit p0
throw p1
.end method