/*
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

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:
 *
 * <p>BEFORE_CREATE, CREATED, VIEW_CREATED, STARTED, RESUMED
 */
public enum LifecycleState {
  BEFORE_CREATE,
  BEFORE_RESUME,
  RESUMED,
}

/*
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

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).
 *
 * <p>BEFORE_CREATE is used before a ReactRootView is attached to ReactInstanceManager, or after all
 * the ReactRootView has been detached from the ReactInstanceManager.
 *
 * <p>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.
 *
 * <p>RESUMED is used when a ReactRootView is rendered on the screen and the user can interact with
 * it.
 */
public enum LifecycleState {
  BEFORE_CREATE,
  BEFORE_RESUME,
  RESUMED,
}

Update InitialLifeCycleState used when initializing RN in FB4A
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
