From de094396e33ee824b63dea7a00d31f9a7c68aab1 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Thu, 16 Jul 2020 14:44:53 -0700 Subject: [PATCH] Update InitialLifeCycleState used when initializing RN in FB4A Summary: This diff changes the InitialLifeCycleState used when initializing RN in FB4A from BEFORE_RESUME to BEFORE_CREATE. The value of this field is used during the teardown of RN to determine if RN is actually running or not The intention of this change is to represent the right behavior of RN during initialization, also this will allow RN to be turn down in case of memory pressure when the bridge has been initialized but before the user has navigated to a RN screen (preloading) changelog: [internal] Reviewed By: JoshuaGross Differential Revision: D22577555 fbshipit-source-id: e54ef596cfe4429745611fe6022eb000051a93d0 --- .../com/facebook/react/common/LifecycleState.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/common/LifecycleState.java b/ReactAndroid/src/main/java/com/facebook/react/common/LifecycleState.java index ce15f5f19f8..cc3238a2103 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/common/LifecycleState.java +++ b/ReactAndroid/src/main/java/com/facebook/react/common/LifecycleState.java @@ -10,9 +10,16 @@ package com.facebook.react.common; /** * Lifecycle state for an Activity. The state right after pause and right before resume are the * basically the same so this enum is in terms of the forward lifecycle progression (onResume, etc). - * Eventually, if necessary, it could contain something like: * - *

BEFORE_CREATE, CREATED, VIEW_CREATED, STARTED, RESUMED + *

BEFORE_CREATE is used before a ReactRootView is attached to ReactInstanceManager, or after all + * the ReactRootView has been detached from the ReactInstanceManager. + * + *

BEFORE_RESUME is used after a ReactRootView is attached to ReactInstanceManager but before + * it's activity is resumed, or after its activity has been paused and before the ReactRootView has + * been detached from the ReactInstanceManager. + * + *

RESUMED is used when a ReactRootView is rendered on the screen and the user can interact with + * it. */ public enum LifecycleState { BEFORE_CREATE,