From 461db24c9bf3ba144a11a450ab22327d1a36f1ec Mon Sep 17 00:00:00 2001 From: Tommy Nguyen <4123478+tido64@users.noreply.github.com> Date: Fri, 3 Dec 2021 17:13:58 +0100 Subject: [PATCH] fix(android): navigate if ReactContext is already initialized --- .../main/java/com/microsoft/reacttestapp/MainActivity.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/java/com/microsoft/reacttestapp/MainActivity.kt b/android/app/src/main/java/com/microsoft/reacttestapp/MainActivity.kt index e13ef7c01..4ca8e1e50 100644 --- a/android/app/src/main/java/com/microsoft/reacttestapp/MainActivity.kt +++ b/android/app/src/main/java/com/microsoft/reacttestapp/MainActivity.kt @@ -16,6 +16,7 @@ import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.facebook.react.ReactActivity +import com.facebook.react.bridge.ReactContext import com.facebook.react.modules.systeminfo.ReactNativeVersion import com.google.android.material.appbar.MaterialToolbar import com.microsoft.reacttestapp.component.ComponentActivity @@ -79,11 +80,15 @@ class MainActivity : ReactActivity() { if (manifest.components.count() == 1) 0 else session.lastOpenedComponent(checksum) index?.let { val component = newComponentViewModel(manifest.components[it]) - testApp.reactNativeHost.addReactInstanceEventListener { + val startInitialComponent = { _: ReactContext -> if (!didInitialNavigation) { startComponent(component) } } + testApp.reactNativeHost.apply { + addReactInstanceEventListener(startInitialComponent) + reactInstanceManager.currentReactContext?.let(startInitialComponent) + } } setupToolbar(manifest.displayName)