ReactRootView.smali
.class public Lcom/facebook/react/ReactRootView;
.super Landroid/widget/FrameLayout;
.source "ReactRootView.java"
# interfaces
.implements Lcom/facebook/react/uimanager/RootView;
.implements Lcom/facebook/react/uimanager/ReactRoot;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/react/ReactRootView$CustomGlobalLayoutListener;,
Lcom/facebook/react/ReactRootView$ReactRootViewEventListener;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String; = "ReactRootView"
# instance fields
.field public final mAndroidHWInputDeviceHelper:Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
.field public mAppProperties:Landroid/os/Bundle;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mCustomGlobalLayoutListener:Lcom/facebook/react/ReactRootView$CustomGlobalLayoutListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mHeightMeasureSpec:I
.field public mInitialUITemplate:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mIsAttachedToInstance:Z
.field public mJSModuleName:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mJSTouchDispatcher:Lcom/facebook/react/uimanager/JSTouchDispatcher;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mLastHeight:I
.field public mLastWidth:I
.field public mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mRootViewEventListener:Lcom/facebook/react/ReactRootView$ReactRootViewEventListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public mRootViewTag:I
.field public mShouldLogContentAppeared:Z
.field public mUIManagerType:I
.field public final mUseSurface:Z
.field public mWasMeasured:Z
.field public mWidthMeasureSpec:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
invoke-direct {p0, p1}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V
new-instance p1, Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
invoke-direct {p1, p0}, Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;-><init>(Lcom/facebook/react/ReactRootView;)V
iput-object p1, p0, Lcom/facebook/react/ReactRootView;->mAndroidHWInputDeviceHelper:Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/facebook/react/ReactRootView;->mWasMeasured:Z
invoke-static {p1, p1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v0
iput v0, p0, Lcom/facebook/react/ReactRootView;->mWidthMeasureSpec:I
invoke-static {p1, p1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v0
iput v0, p0, Lcom/facebook/react/ReactRootView;->mHeightMeasureSpec:I
iput p1, p0, Lcom/facebook/react/ReactRootView;->mLastWidth:I
iput p1, p0, Lcom/facebook/react/ReactRootView;->mLastHeight:I
const/4 v0, 0x1
iput v0, p0, Lcom/facebook/react/ReactRootView;->mUIManagerType:I
iput-boolean p1, p0, Lcom/facebook/react/ReactRootView;->mUseSurface:Z
invoke-direct {p0}, Lcom/facebook/react/ReactRootView;->init()V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 3
invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
new-instance p1, Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
invoke-direct {p1, p0}, Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;-><init>(Lcom/facebook/react/ReactRootView;)V
iput-object p1, p0, Lcom/facebook/react/ReactRootView;->mAndroidHWInputDeviceHelper:Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/facebook/react/ReactRootView;->mWasMeasured:Z
invoke-static {p1, p1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result p2
iput p2, p0, Lcom/facebook/react/ReactRootView;->mWidthMeasureSpec:I
invoke-static {p1, p1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result p2
iput p2, p0, Lcom/facebook/react/ReactRootView;->mHeightMeasureSpec:I
iput p1, p0, Lcom/facebook/react/ReactRootView;->mLastWidth:I
iput p1, p0, Lcom/facebook/react/ReactRootView;->mLastHeight:I
const/4 p2, 0x1
iput p2, p0, Lcom/facebook/react/ReactRootView;->mUIManagerType:I
iput-boolean p1, p0, Lcom/facebook/react/ReactRootView;->mUseSurface:Z
invoke-direct {p0}, Lcom/facebook/react/ReactRootView;->init()V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 4
invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
new-instance p1, Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
invoke-direct {p1, p0}, Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;-><init>(Lcom/facebook/react/ReactRootView;)V
iput-object p1, p0, Lcom/facebook/react/ReactRootView;->mAndroidHWInputDeviceHelper:Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/facebook/react/ReactRootView;->mWasMeasured:Z
invoke-static {p1, p1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result p2
iput p2, p0, Lcom/facebook/react/ReactRootView;->mWidthMeasureSpec:I
invoke-static {p1, p1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result p2
iput p2, p0, Lcom/facebook/react/ReactRootView;->mHeightMeasureSpec:I
iput p1, p0, Lcom/facebook/react/ReactRootView;->mLastWidth:I
iput p1, p0, Lcom/facebook/react/ReactRootView;->mLastHeight:I
const/4 p2, 0x1
iput p2, p0, Lcom/facebook/react/ReactRootView;->mUIManagerType:I
iput-boolean p1, p0, Lcom/facebook/react/ReactRootView;->mUseSurface:Z
invoke-direct {p0}, Lcom/facebook/react/ReactRootView;->init()V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Z)V
.registers 4
invoke-direct {p0, p1}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V
new-instance p1, Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
invoke-direct {p1, p0}, Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;-><init>(Lcom/facebook/react/ReactRootView;)V
iput-object p1, p0, Lcom/facebook/react/ReactRootView;->mAndroidHWInputDeviceHelper:Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/facebook/react/ReactRootView;->mWasMeasured:Z
invoke-static {p1, p1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v0
iput v0, p0, Lcom/facebook/react/ReactRootView;->mWidthMeasureSpec:I
invoke-static {p1, p1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v0
iput v0, p0, Lcom/facebook/react/ReactRootView;->mHeightMeasureSpec:I
iput p1, p0, Lcom/facebook/react/ReactRootView;->mLastWidth:I
iput p1, p0, Lcom/facebook/react/ReactRootView;->mLastHeight:I
const/4 p1, 0x1
iput p1, p0, Lcom/facebook/react/ReactRootView;->mUIManagerType:I
iput-boolean p2, p0, Lcom/facebook/react/ReactRootView;->mUseSurface:Z
invoke-direct {p0}, Lcom/facebook/react/ReactRootView;->init()V
return-void
.end method
.method public static synthetic access$000(Lcom/facebook/react/ReactRootView;)Lcom/facebook/react/ReactInstanceManager;
.registers 1
iget-object p0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
return-object p0
.end method
.method public static synthetic access$100(Lcom/facebook/react/ReactRootView;)Z
.registers 1
iget-boolean p0, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
return p0
.end method
.method public static synthetic access$200(Lcom/facebook/react/ReactRootView;)I
.registers 1
iget p0, p0, Lcom/facebook/react/ReactRootView;->mLastHeight:I
return p0
.end method
.method private attachToReactInstanceManager()V
.registers 5
const-wide/16 v0, 0x0
const-string v2, "attachToReactInstanceManager"
invoke-static {v0, v1, v2}, Lcom/facebook/systrace/Systrace;->beginSection(JLjava/lang/String;)V
iget-boolean v2, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
if-eqz v2, :cond_c
return-void
:cond_c
const/4 v2, 0x1
:try_start_d
iput-boolean v2, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
iget-object v2, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
invoke-static {v2}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/facebook/react/ReactInstanceManager;
invoke-virtual {v2, p0}, Lcom/facebook/react/ReactInstanceManager;->attachRootView(Lcom/facebook/react/uimanager/ReactRoot;)V
invoke-virtual {p0}, Landroid/widget/FrameLayout;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object v2
invoke-direct {p0}, Lcom/facebook/react/ReactRootView;->getCustomGlobalLayoutListener()Lcom/facebook/react/ReactRootView$CustomGlobalLayoutListener;
move-result-object v3
invoke-virtual {v2, v3}, Landroid/view/ViewTreeObserver;->addOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
:try_end_25
.catchall {:try_start_d .. :try_end_25} :catchall_29
invoke-static {v0, v1}, Lcom/facebook/systrace/Systrace;->endSection(J)V
return-void
:catchall_29
move-exception v2
invoke-static {v0, v1}, Lcom/facebook/systrace/Systrace;->endSection(J)V
throw v2
.end method
.method private dispatchJSTouchEvent(Landroid/view/MotionEvent;)V
.registers 5
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
const-string v1, "ReactRootView"
if-eqz v0, :cond_33
iget-boolean v2, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
if-eqz v2, :cond_33
invoke-virtual {v0}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object v0
if-nez v0, :cond_11
goto :goto_33
:cond_11
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mJSTouchDispatcher:Lcom/facebook/react/uimanager/JSTouchDispatcher;
if-nez v0, :cond_1b
const-string p1, "Unable to dispatch touch to JS before the dispatcher is available"
invoke-static {v1, p1}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_1b
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
invoke-virtual {v0}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object v0
const-class v1, Lcom/facebook/react/uimanager/UIManagerModule;
invoke-virtual {v0, v1}, Lcom/facebook/react/bridge/ReactContext;->getNativeModule(Ljava/lang/Class;)Lcom/facebook/react/bridge/NativeModule;
move-result-object v0
check-cast v0, Lcom/facebook/react/uimanager/UIManagerModule;
invoke-virtual {v0}, Lcom/facebook/react/uimanager/UIManagerModule;->getEventDispatcher()Lcom/facebook/react/uimanager/events/EventDispatcher;
move-result-object v0
iget-object v1, p0, Lcom/facebook/react/ReactRootView;->mJSTouchDispatcher:Lcom/facebook/react/uimanager/JSTouchDispatcher;
invoke-virtual {v1, p1, v0}, Lcom/facebook/react/uimanager/JSTouchDispatcher;->handleTouchEvent(Landroid/view/MotionEvent;Lcom/facebook/react/uimanager/events/EventDispatcher;)V
return-void
:cond_33
:goto_33
const-string p1, "Unable to dispatch touch to JS as the catalyst instance has not been attached"
invoke-static {v1, p1}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private getCustomGlobalLayoutListener()Lcom/facebook/react/ReactRootView$CustomGlobalLayoutListener;
.registers 2
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mCustomGlobalLayoutListener:Lcom/facebook/react/ReactRootView$CustomGlobalLayoutListener;
if-nez v0, :cond_b
new-instance v0, Lcom/facebook/react/ReactRootView$CustomGlobalLayoutListener;
invoke-direct {v0, p0}, Lcom/facebook/react/ReactRootView$CustomGlobalLayoutListener;-><init>(Lcom/facebook/react/ReactRootView;)V
iput-object v0, p0, Lcom/facebook/react/ReactRootView;->mCustomGlobalLayoutListener:Lcom/facebook/react/ReactRootView$CustomGlobalLayoutListener;
:cond_b
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mCustomGlobalLayoutListener:Lcom/facebook/react/ReactRootView$CustomGlobalLayoutListener;
return-object v0
.end method
.method private init()V
.registers 2
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/widget/FrameLayout;->setClipChildren(Z)V
return-void
.end method
.method private removeOnGlobalLayoutListener()V
.registers 3
invoke-virtual {p0}, Landroid/widget/FrameLayout;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object v0
invoke-direct {p0}, Lcom/facebook/react/ReactRootView;->getCustomGlobalLayoutListener()Lcom/facebook/react/ReactRootView$CustomGlobalLayoutListener;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/view/ViewTreeObserver;->removeOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
return-void
.end method
.method private updateRootLayoutSpecs(II)V
.registers 5
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
if-nez v0, :cond_c
const-string p1, "ReactRootView"
const-string p2, "Unable to update root layout specs for uninitialized ReactInstanceManager"
invoke-static {p1, p2}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_c
invoke-virtual {v0}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object v0
if-eqz v0, :cond_23
invoke-virtual {p0}, Lcom/facebook/react/ReactRootView;->getUIManagerType()I
move-result v1
invoke-static {v0, v1}, Lcom/facebook/react/uimanager/UIManagerHelper;->getUIManager(Lcom/facebook/react/bridge/ReactContext;I)Lcom/facebook/react/bridge/UIManager;
move-result-object v0
if-eqz v0, :cond_23
invoke-virtual {p0}, Lcom/facebook/react/ReactRootView;->getRootViewTag()I
move-result v1
invoke-interface {v0, v1, p1, p2}, Lcom/facebook/react/bridge/UIManager;->updateRootLayoutSpecs(III)V
:cond_23
return-void
.end method
# virtual methods
.method public dispatchDraw(Landroid/graphics/Canvas;)V
.registers 2
:try_start_0
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchDraw(Landroid/graphics/Canvas;)V
:try_end_3
.catch Ljava/lang/StackOverflowError; {:try_start_0 .. :try_end_3} :catch_4
goto :goto_8
:catch_4
move-exception p1
invoke-virtual {p0, p1}, Lcom/facebook/react/ReactRootView;->handleException(Ljava/lang/Throwable;)V
:goto_8
return-void
.end method
.method public dispatchKeyEvent(Landroid/view/KeyEvent;)Z
.registers 4
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
if-eqz v0, :cond_19
iget-boolean v1, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
if-eqz v1, :cond_19
invoke-virtual {v0}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object v0
if-nez v0, :cond_f
goto :goto_19
:cond_f
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mAndroidHWInputDeviceHelper:Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
invoke-virtual {v0, p1}, Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;->handleKeyEvent(Landroid/view/KeyEvent;)V
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
move-result p1
return p1
:cond_19
:goto_19
const-string v0, "ReactRootView"
const-string v1, "Unable to handle key event as the catalyst instance has not been attached"
invoke-static {v0, v1}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
move-result p1
return p1
.end method
.method public finalize()V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
invoke-super {p0}, Ljava/lang/Object;->finalize()V
iget-boolean v0, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
xor-int/lit8 v0, v0, 0x1
const-string v1, "The application this ReactRootView was rendering was not unmounted before the ReactRootView was garbage collected. This usually means that your application is leaking large amounts of memory. To solve this, make sure to call ReactRootView#unmountReactApplication in the onDestroy() of your hosting Activity or in the onDestroyView() of your hosting Fragment."
invoke-static {v0, v1}, Lcom/facebook/infer/annotation/Assertions;->assertCondition(ZLjava/lang/String;)V
return-void
.end method
.method public getAppProperties()Landroid/os/Bundle;
.registers 2
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mAppProperties:Landroid/os/Bundle;
return-object v0
.end method
.method public getHeightMeasureSpec()I
.registers 2
iget v0, p0, Lcom/facebook/react/ReactRootView;->mHeightMeasureSpec:I
return v0
.end method
.method public getInitialUITemplate()Ljava/lang/String;
.registers 2
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mInitialUITemplate:Ljava/lang/String;
return-object v0
.end method
.method public getJSModuleName()Ljava/lang/String;
.registers 2
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mJSModuleName:Ljava/lang/String;
invoke-static {v0}, Lcom/facebook/infer/annotation/Assertions;->assertNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
return-object v0
.end method
.method public getReactInstanceManager()Lcom/facebook/react/ReactInstanceManager;
.registers 2
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
return-object v0
.end method
.method public getRootViewGroup()Landroid/view/ViewGroup;
.registers 1
return-object p0
.end method
.method public getRootViewTag()I
.registers 2
iget v0, p0, Lcom/facebook/react/ReactRootView;->mRootViewTag:I
return v0
.end method
.method public getSurfaceID()Ljava/lang/String;
.registers 3
.annotation build Landroidx/annotation/Nullable;
.end annotation
invoke-virtual {p0}, Lcom/facebook/react/ReactRootView;->getAppProperties()Landroid/os/Bundle;
move-result-object v0
if-eqz v0, :cond_e
const-string/jumbo v1, "surfaceID"
invoke-virtual {v0, v1}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_f
:cond_e
const/4 v0, 0x0
:goto_f
return-object v0
.end method
.method public getUIManagerType()I
.registers 2
iget v0, p0, Lcom/facebook/react/ReactRootView;->mUIManagerType:I
return v0
.end method
.method public getWidthMeasureSpec()I
.registers 2
iget v0, p0, Lcom/facebook/react/ReactRootView;->mWidthMeasureSpec:I
return v0
.end method
.method public handleException(Ljava/lang/Throwable;)V
.registers 4
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
if-eqz v0, :cond_1d
invoke-virtual {v0}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object v0
if-eqz v0, :cond_1d
new-instance v0, Lcom/facebook/react/uimanager/IllegalViewOperationException;
invoke-virtual {p1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1, p0, p1}, Lcom/facebook/react/uimanager/IllegalViewOperationException;-><init>(Ljava/lang/String;Landroid/view/View;Ljava/lang/Throwable;)V
iget-object p1, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
invoke-virtual {p1}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object p1
invoke-virtual {p1, v0}, Lcom/facebook/react/bridge/ReactContext;->handleException(Ljava/lang/Exception;)V
return-void
:cond_1d
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method public onAttachedToReactInstance()V
.registers 2
new-instance v0, Lcom/facebook/react/uimanager/JSTouchDispatcher;
invoke-direct {v0, p0}, Lcom/facebook/react/uimanager/JSTouchDispatcher;-><init>(Landroid/view/ViewGroup;)V
iput-object v0, p0, Lcom/facebook/react/ReactRootView;->mJSTouchDispatcher:Lcom/facebook/react/uimanager/JSTouchDispatcher;
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mRootViewEventListener:Lcom/facebook/react/ReactRootView$ReactRootViewEventListener;
if-eqz v0, :cond_e
invoke-interface {v0, p0}, Lcom/facebook/react/ReactRootView$ReactRootViewEventListener;->onAttachedToReactInstance(Lcom/facebook/react/ReactRootView;)V
:cond_e
return-void
.end method
.method public onAttachedToWindow()V
.registers 3
invoke-super {p0}, Landroid/widget/FrameLayout;->onAttachedToWindow()V
iget-boolean v0, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
if-eqz v0, :cond_15
invoke-direct {p0}, Lcom/facebook/react/ReactRootView;->removeOnGlobalLayoutListener()V
invoke-virtual {p0}, Landroid/widget/FrameLayout;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object v0
invoke-direct {p0}, Lcom/facebook/react/ReactRootView;->getCustomGlobalLayoutListener()Lcom/facebook/react/ReactRootView$CustomGlobalLayoutListener;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/view/ViewTreeObserver;->addOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
:cond_15
return-void
.end method
.method public onChildStartedNativeGesture(Landroid/view/MotionEvent;)V
.registers 5
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
const-string v1, "ReactRootView"
if-eqz v0, :cond_33
iget-boolean v2, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
if-eqz v2, :cond_33
invoke-virtual {v0}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object v0
if-nez v0, :cond_11
goto :goto_33
:cond_11
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mJSTouchDispatcher:Lcom/facebook/react/uimanager/JSTouchDispatcher;
if-nez v0, :cond_1b
const-string p1, "Unable to dispatch touch to JS before the dispatcher is available"
invoke-static {v1, p1}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_1b
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
invoke-virtual {v0}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object v0
const-class v1, Lcom/facebook/react/uimanager/UIManagerModule;
invoke-virtual {v0, v1}, Lcom/facebook/react/bridge/ReactContext;->getNativeModule(Ljava/lang/Class;)Lcom/facebook/react/bridge/NativeModule;
move-result-object v0
check-cast v0, Lcom/facebook/react/uimanager/UIManagerModule;
invoke-virtual {v0}, Lcom/facebook/react/uimanager/UIManagerModule;->getEventDispatcher()Lcom/facebook/react/uimanager/events/EventDispatcher;
move-result-object v0
iget-object v1, p0, Lcom/facebook/react/ReactRootView;->mJSTouchDispatcher:Lcom/facebook/react/uimanager/JSTouchDispatcher;
invoke-virtual {v1, p1, v0}, Lcom/facebook/react/uimanager/JSTouchDispatcher;->onChildStartedNativeGesture(Landroid/view/MotionEvent;Lcom/facebook/react/uimanager/events/EventDispatcher;)V
return-void
:cond_33
:goto_33
const-string p1, "Unable to dispatch touch to JS as the catalyst instance has not been attached"
invoke-static {v1, p1}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public onDetachedFromWindow()V
.registers 2
invoke-super {p0}, Landroid/widget/FrameLayout;->onDetachedFromWindow()V
iget-boolean v0, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
if-eqz v0, :cond_a
invoke-direct {p0}, Lcom/facebook/react/ReactRootView;->removeOnGlobalLayoutListener()V
:cond_a
return-void
.end method
.method public onFocusChanged(ZILandroid/graphics/Rect;)V
.registers 6
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
if-eqz v0, :cond_18
iget-boolean v1, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
if-eqz v1, :cond_18
invoke-virtual {v0}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object v0
if-nez v0, :cond_f
goto :goto_18
:cond_f
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mAndroidHWInputDeviceHelper:Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
invoke-virtual {v0}, Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;->clearFocus()V
invoke-super {p0, p1, p2, p3}, Landroid/widget/FrameLayout;->onFocusChanged(ZILandroid/graphics/Rect;)V
return-void
:cond_18
:goto_18
const-string v0, "ReactRootView"
const-string v1, "Unable to handle focus changed event as the catalyst instance has not been attached"
invoke-static {v0, v1}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
invoke-super {p0, p1, p2, p3}, Landroid/widget/FrameLayout;->onFocusChanged(ZILandroid/graphics/Rect;)V
return-void
.end method
.method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
.registers 2
invoke-direct {p0, p1}, Lcom/facebook/react/ReactRootView;->dispatchJSTouchEvent(Landroid/view/MotionEvent;)V
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
move-result p1
return p1
.end method
.method public onLayout(ZIIII)V
.registers 7
iget-boolean v0, p0, Lcom/facebook/react/ReactRootView;->mUseSurface:Z
if-eqz v0, :cond_7
invoke-super/range {p0 .. p5}, Landroid/widget/FrameLayout;->onLayout(ZIIII)V
:cond_7
return-void
.end method
.method public onMeasure(II)V
.registers 13
iget-boolean v0, p0, Lcom/facebook/react/ReactRootView;->mUseSurface:Z
if-eqz v0, :cond_8
invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->onMeasure(II)V
return-void
:cond_8
const-wide/16 v0, 0x0
const-string v2, "ReactRootView.onMeasure"
invoke-static {v0, v1, v2}, Lcom/facebook/systrace/Systrace;->beginSection(JLjava/lang/String;)V
:try_start_f
iget v2, p0, Lcom/facebook/react/ReactRootView;->mWidthMeasureSpec:I
const/4 v3, 0x1
const/4 v4, 0x0
if-ne p1, v2, :cond_1c
iget v2, p0, Lcom/facebook/react/ReactRootView;->mHeightMeasureSpec:I
if-eq p2, v2, :cond_1a
goto :goto_1c
:cond_1a
const/4 v2, 0x0
goto :goto_1d
:cond_1c
:goto_1c
const/4 v2, 0x1
:goto_1d
iput p1, p0, Lcom/facebook/react/ReactRootView;->mWidthMeasureSpec:I
iput p2, p0, Lcom/facebook/react/ReactRootView;->mHeightMeasureSpec:I
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v5
const/high16 v6, -0x80000000
if-eq v5, v6, :cond_31
if-nez v5, :cond_2c
goto :goto_31
:cond_2c
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result p1
goto :goto_57
:cond_31
:goto_31
const/4 p1, 0x0
const/4 v5, 0x0
:goto_33
invoke-virtual {p0}, Landroid/widget/FrameLayout;->getChildCount()I
move-result v7
if-ge v5, v7, :cond_57
invoke-virtual {p0, v5}, Landroid/widget/FrameLayout;->getChildAt(I)Landroid/view/View;
move-result-object v7
invoke-virtual {v7}, Landroid/view/View;->getLeft()I
move-result v8
invoke-virtual {v7}, Landroid/view/View;->getMeasuredWidth()I
move-result v9
add-int/2addr v8, v9
invoke-virtual {v7}, Landroid/view/View;->getPaddingLeft()I
move-result v9
add-int/2addr v8, v9
invoke-virtual {v7}, Landroid/view/View;->getPaddingRight()I
move-result v7
add-int/2addr v8, v7
invoke-static {p1, v8}, Ljava/lang/Math;->max(II)I
move-result p1
add-int/lit8 v5, v5, 0x1
goto :goto_33
:cond_57
:goto_57
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v5
if-eq v5, v6, :cond_65
if-nez v5, :cond_60
goto :goto_65
:cond_60
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result p2
goto :goto_8a
:cond_65
:goto_65
const/4 p2, 0x0
:goto_66
invoke-virtual {p0}, Landroid/widget/FrameLayout;->getChildCount()I
move-result v5
if-ge v4, v5, :cond_8a
invoke-virtual {p0, v4}, Landroid/widget/FrameLayout;->getChildAt(I)Landroid/view/View;
move-result-object v5
invoke-virtual {v5}, Landroid/view/View;->getTop()I
move-result v6
invoke-virtual {v5}, Landroid/view/View;->getMeasuredHeight()I
move-result v7
add-int/2addr v6, v7
invoke-virtual {v5}, Landroid/view/View;->getPaddingTop()I
move-result v7
add-int/2addr v6, v7
invoke-virtual {v5}, Landroid/view/View;->getPaddingBottom()I
move-result v5
add-int/2addr v6, v5
invoke-static {p2, v6}, Ljava/lang/Math;->max(II)I
move-result p2
add-int/lit8 v4, v4, 0x1
goto :goto_66
:cond_8a
:goto_8a
invoke-virtual {p0, p1, p2}, Landroid/widget/FrameLayout;->setMeasuredDimension(II)V
iput-boolean v3, p0, Lcom/facebook/react/ReactRootView;->mWasMeasured:Z
iget-object v3, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
if-eqz v3, :cond_9b
iget-boolean v3, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
if-nez v3, :cond_9b
invoke-direct {p0}, Lcom/facebook/react/ReactRootView;->attachToReactInstanceManager()V
goto :goto_ac
:cond_9b
if-nez v2, :cond_a5
iget v2, p0, Lcom/facebook/react/ReactRootView;->mLastWidth:I
if-ne v2, p1, :cond_a5
iget v2, p0, Lcom/facebook/react/ReactRootView;->mLastHeight:I
if-eq v2, p2, :cond_ac
:cond_a5
iget v2, p0, Lcom/facebook/react/ReactRootView;->mWidthMeasureSpec:I
iget v3, p0, Lcom/facebook/react/ReactRootView;->mHeightMeasureSpec:I
invoke-direct {p0, v2, v3}, Lcom/facebook/react/ReactRootView;->updateRootLayoutSpecs(II)V
:cond_ac
:goto_ac
iput p1, p0, Lcom/facebook/react/ReactRootView;->mLastWidth:I
iput p2, p0, Lcom/facebook/react/ReactRootView;->mLastHeight:I
:try_end_b0
.catchall {:try_start_f .. :try_end_b0} :catchall_b4
invoke-static {v0, v1}, Lcom/facebook/systrace/Systrace;->endSection(J)V
return-void
:catchall_b4
move-exception p1
invoke-static {v0, v1}, Lcom/facebook/systrace/Systrace;->endSection(J)V
goto :goto_ba
:goto_b9
throw p1
:goto_ba
goto :goto_b9
.end method
.method public onStage(I)V
.registers 3
const/16 v0, 0x65
if-eq p1, v0, :cond_5
goto :goto_8
:cond_5
invoke-virtual {p0}, Lcom/facebook/react/ReactRootView;->onAttachedToReactInstance()V
:goto_8
return-void
.end method
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
.registers 2
invoke-direct {p0, p1}, Lcom/facebook/react/ReactRootView;->dispatchJSTouchEvent(Landroid/view/MotionEvent;)V
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onTouchEvent(Landroid/view/MotionEvent;)Z
const/4 p1, 0x1
return p1
.end method
.method public onViewAdded(Landroid/view/View;)V
.registers 4
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onViewAdded(Landroid/view/View;)V
iget-boolean p1, p0, Lcom/facebook/react/ReactRootView;->mShouldLogContentAppeared:Z
if-eqz p1, :cond_15
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/facebook/react/ReactRootView;->mShouldLogContentAppeared:Z
iget-object p1, p0, Lcom/facebook/react/ReactRootView;->mJSModuleName:Ljava/lang/String;
if-eqz p1, :cond_15
sget-object v0, Lcom/facebook/react/bridge/ReactMarkerConstants;->CONTENT_APPEARED:Lcom/facebook/react/bridge/ReactMarkerConstants;
iget v1, p0, Lcom/facebook/react/ReactRootView;->mRootViewTag:I
invoke-static {v0, p1, v1}, Lcom/facebook/react/bridge/ReactMarker;->logMarker(Lcom/facebook/react/bridge/ReactMarkerConstants;Ljava/lang/String;I)V
:cond_15
return-void
.end method
.method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V
.registers 5
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
if-eqz v0, :cond_18
iget-boolean v1, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
if-eqz v1, :cond_18
invoke-virtual {v0}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object v0
if-nez v0, :cond_f
goto :goto_18
:cond_f
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mAndroidHWInputDeviceHelper:Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;
invoke-virtual {v0, p2}, Lcom/facebook/react/ReactAndroidHWInputDeviceHelper;->onFocusChanged(Landroid/view/View;)V
invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
return-void
:cond_18
:goto_18
const-string v0, "ReactRootView"
const-string v1, "Unable to handle child focus changed event as the catalyst instance has not been attached"
invoke-static {v0, v1}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
return-void
.end method
.method public requestDisallowInterceptTouchEvent(Z)V
.registers 3
invoke-virtual {p0}, Landroid/widget/FrameLayout;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-eqz v0, :cond_d
invoke-virtual {p0}, Landroid/widget/FrameLayout;->getParent()Landroid/view/ViewParent;
move-result-object v0
invoke-interface {v0, p1}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
:cond_d
return-void
.end method
.method public runApplication()V
.registers 9
const-wide/16 v0, 0x0
const-string v2, "ReactRootView.runApplication"
invoke-static {v0, v1, v2}, Lcom/facebook/systrace/Systrace;->beginSection(JLjava/lang/String;)V
:try_start_7
iget-object v2, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
if-eqz v2, :cond_6b
iget-boolean v2, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
if-nez v2, :cond_10
goto :goto_6b
:cond_10
iget-object v2, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
invoke-virtual {v2}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object v2
:try_end_16
.catchall {:try_start_7 .. :try_end_16} :catchall_6f
if-nez v2, :cond_1c
invoke-static {v0, v1}, Lcom/facebook/systrace/Systrace;->endSection(J)V
return-void
:cond_1c
:try_start_1c
invoke-virtual {v2}, Lcom/facebook/react/bridge/ReactContext;->getCatalystInstance()Lcom/facebook/react/bridge/CatalystInstance;
move-result-object v2
invoke-virtual {p0}, Lcom/facebook/react/ReactRootView;->getJSModuleName()Ljava/lang/String;
move-result-object v3
iget-boolean v4, p0, Lcom/facebook/react/ReactRootView;->mUseSurface:Z
if-eqz v4, :cond_29
goto :goto_67
:cond_29
iget-boolean v4, p0, Lcom/facebook/react/ReactRootView;->mWasMeasured:Z
if-eqz v4, :cond_34
iget v4, p0, Lcom/facebook/react/ReactRootView;->mWidthMeasureSpec:I
iget v5, p0, Lcom/facebook/react/ReactRootView;->mHeightMeasureSpec:I
invoke-direct {p0, v4, v5}, Lcom/facebook/react/ReactRootView;->updateRootLayoutSpecs(II)V
:cond_34
new-instance v4, Lcom/facebook/react/bridge/WritableNativeMap;
invoke-direct {v4}, Lcom/facebook/react/bridge/WritableNativeMap;-><init>()V
const-string v5, "rootTag"
invoke-virtual {p0}, Lcom/facebook/react/ReactRootView;->getRootViewTag()I
move-result v6
int-to-double v6, v6
invoke-virtual {v4, v5, v6, v7}, Lcom/facebook/react/bridge/WritableNativeMap;->putDouble(Ljava/lang/String;D)V
invoke-virtual {p0}, Lcom/facebook/react/ReactRootView;->getAppProperties()Landroid/os/Bundle;
move-result-object v5
if-eqz v5, :cond_52
const-string v6, "initialProps"
invoke-static {v5}, Lcom/facebook/react/bridge/Arguments;->fromBundle(Landroid/os/Bundle;)Lcom/facebook/react/bridge/WritableMap;
move-result-object v5
invoke-virtual {v4, v6, v5}, Lcom/facebook/react/bridge/WritableNativeMap;->putMap(Ljava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
:cond_52
const/4 v5, 0x1
iput-boolean v5, p0, Lcom/facebook/react/ReactRootView;->mShouldLogContentAppeared:Z
const-string v5, "ReactRootView"
const-string v6, "runApplication: call AppRegistry.runApplication"
invoke-static {v5, v6}, Lcom/facebook/common/logging/FLog;->e(Ljava/lang/String;Ljava/lang/String;)V
const-class v5, Lcom/facebook/react/modules/appregistry/AppRegistry;
invoke-interface {v2, v5}, Lcom/facebook/react/bridge/CatalystInstance;->getJSModule(Ljava/lang/Class;)Lcom/facebook/react/bridge/JavaScriptModule;
move-result-object v2
check-cast v2, Lcom/facebook/react/modules/appregistry/AppRegistry;
invoke-interface {v2, v3, v4}, Lcom/facebook/react/modules/appregistry/AppRegistry;->runApplication(Ljava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
:try_end_67
.catchall {:try_start_1c .. :try_end_67} :catchall_6f
:goto_67
invoke-static {v0, v1}, Lcom/facebook/systrace/Systrace;->endSection(J)V
return-void
:cond_6b
:goto_6b
invoke-static {v0, v1}, Lcom/facebook/systrace/Systrace;->endSection(J)V
return-void
:catchall_6f
move-exception v2
invoke-static {v0, v1}, Lcom/facebook/systrace/Systrace;->endSection(J)V
throw v2
.end method
.method public sendEvent(Ljava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
.registers 5
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
if-eqz v0, :cond_13
invoke-virtual {v0}, Lcom/facebook/react/ReactInstanceManager;->getCurrentReactContext()Lcom/facebook/react/bridge/ReactContext;
move-result-object v0
const-class v1, Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;
invoke-virtual {v0, v1}, Lcom/facebook/react/bridge/ReactContext;->getJSModule(Ljava/lang/Class;)Lcom/facebook/react/bridge/JavaScriptModule;
move-result-object v0
check-cast v0, Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;
invoke-interface {v0, p1, p2}, Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;->emit(Ljava/lang/String;Ljava/lang/Object;)V
:cond_13
return-void
.end method
.method public setAppProperties(Landroid/os/Bundle;)V
.registers 2
.param p1 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Lcom/facebook/infer/annotation/ThreadConfined;
value = "UI"
.end annotation
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iput-object p1, p0, Lcom/facebook/react/ReactRootView;->mAppProperties:Landroid/os/Bundle;
invoke-virtual {p0}, Lcom/facebook/react/ReactRootView;->getRootViewTag()I
move-result p1
if-eqz p1, :cond_e
invoke-virtual {p0}, Lcom/facebook/react/ReactRootView;->runApplication()V
:cond_e
return-void
.end method
.method public setEventListener(Lcom/facebook/react/ReactRootView$ReactRootViewEventListener;)V
.registers 2
iput-object p1, p0, Lcom/facebook/react/ReactRootView;->mRootViewEventListener:Lcom/facebook/react/ReactRootView$ReactRootViewEventListener;
return-void
.end method
.method public setIsFabric(Z)V
.registers 2
if-eqz p1, :cond_4
const/4 p1, 0x2
goto :goto_5
:cond_4
const/4 p1, 0x1
:goto_5
iput p1, p0, Lcom/facebook/react/ReactRootView;->mUIManagerType:I
return-void
.end method
.method public setRootViewTag(I)V
.registers 2
iput p1, p0, Lcom/facebook/react/ReactRootView;->mRootViewTag:I
return-void
.end method
.method public setShouldLogContentAppeared(Z)V
.registers 2
iput-boolean p1, p0, Lcom/facebook/react/ReactRootView;->mShouldLogContentAppeared:Z
return-void
.end method
.method public simulateAttachForTesting()V
.registers 2
.annotation build Lcom/facebook/react/common/annotations/VisibleForTesting;
.end annotation
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
new-instance v0, Lcom/facebook/react/uimanager/JSTouchDispatcher;
invoke-direct {v0, p0}, Lcom/facebook/react/uimanager/JSTouchDispatcher;-><init>(Landroid/view/ViewGroup;)V
iput-object v0, p0, Lcom/facebook/react/ReactRootView;->mJSTouchDispatcher:Lcom/facebook/react/uimanager/JSTouchDispatcher;
return-void
.end method
.method public startReactApplication(Lcom/facebook/react/ReactInstanceManager;Ljava/lang/String;)V
.registers 4
const/4 v0, 0x0
invoke-virtual {p0, p1, p2, v0}, Lcom/facebook/react/ReactRootView;->startReactApplication(Lcom/facebook/react/ReactInstanceManager;Ljava/lang/String;Landroid/os/Bundle;)V
return-void
.end method
.method public startReactApplication(Lcom/facebook/react/ReactInstanceManager;Ljava/lang/String;Landroid/os/Bundle;)V
.registers 5
.param p1 # Lcom/facebook/react/ReactInstanceManager;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
invoke-virtual {p0, p1, p2, p3, v0}, Lcom/facebook/react/ReactRootView;->startReactApplication(Lcom/facebook/react/ReactInstanceManager;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/String;)V
return-void
.end method
.method public startReactApplication(Lcom/facebook/react/ReactInstanceManager;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/String;)V
.registers 9
.param p1 # Lcom/facebook/react/ReactInstanceManager;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Lcom/facebook/infer/annotation/ThreadConfined;
value = "UI"
.end annotation
const-wide/16 v0, 0x0
const-string/jumbo v2, "startReactApplication"
invoke-static {v0, v1, v2}, Lcom/facebook/systrace/Systrace;->beginSection(JLjava/lang/String;)V
:try_start_8
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iget-object v2, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
if-nez v2, :cond_11
const/4 v2, 0x1
goto :goto_12
:cond_11
const/4 v2, 0x0
:goto_12
const-string v3, "This root view has already been attached to a catalyst instance manager"
invoke-static {v2, v3}, Lcom/facebook/infer/annotation/Assertions;->assertCondition(ZLjava/lang/String;)V
iput-object p1, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
iput-object p2, p0, Lcom/facebook/react/ReactRootView;->mJSModuleName:Ljava/lang/String;
iput-object p3, p0, Lcom/facebook/react/ReactRootView;->mAppProperties:Landroid/os/Bundle;
iput-object p4, p0, Lcom/facebook/react/ReactRootView;->mInitialUITemplate:Ljava/lang/String;
invoke-virtual {p1}, Lcom/facebook/react/ReactInstanceManager;->createReactContextInBackground()V
invoke-direct {p0}, Lcom/facebook/react/ReactRootView;->attachToReactInstanceManager()V
:try_end_25
.catchall {:try_start_8 .. :try_end_25} :catchall_29
invoke-static {v0, v1}, Lcom/facebook/systrace/Systrace;->endSection(J)V
return-void
:catchall_29
move-exception p1
invoke-static {v0, v1}, Lcom/facebook/systrace/Systrace;->endSection(J)V
throw p1
.end method
.method public unmountReactApplication()V
.registers 4
.annotation build Lcom/facebook/infer/annotation/ThreadConfined;
value = "UI"
.end annotation
invoke-static {}, Lcom/facebook/react/bridge/UiThreadUtil;->assertOnUiThread()V
iget-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
const/4 v1, 0x0
if-eqz v0, :cond_11
iget-boolean v2, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
if-eqz v2, :cond_11
invoke-virtual {v0, p0}, Lcom/facebook/react/ReactInstanceManager;->detachRootView(Lcom/facebook/react/uimanager/ReactRoot;)V
iput-boolean v1, p0, Lcom/facebook/react/ReactRootView;->mIsAttachedToInstance:Z
:cond_11
const/4 v0, 0x0
iput-object v0, p0, Lcom/facebook/react/ReactRootView;->mReactInstanceManager:Lcom/facebook/react/ReactInstanceManager;
iput-boolean v1, p0, Lcom/facebook/react/ReactRootView;->mShouldLogContentAppeared:Z
return-void
.end method