Use whether react instance is accepting calls to determine whether instance is active

Summary:
There was previously a race condition where hasActiveCatalystInstance would return true, but calling a JS module call on it would result in a crash. Now, hasActivtyCatalystInstance will only return true once the instance is actually accepting calls.

I'll follow this up with a more risky diff that gets rid of hasActiveCatalystInstance and just queues JS calls until runJSBundle is called.

Reviewed By: javache

Differential Revision: D4117374

fbshipit-source-id: 60941f68b0906a8213571305c564bfe3d053f51b
This commit is contained in:
Andy Street
2016-11-02 07:58:33 -07:00
committed by Facebook Github Bot
parent bdbadd1142
commit 6a45f05872
3 changed files with 7 additions and 4 deletions
@@ -143,7 +143,7 @@ public class ReactContext extends ContextWrapper {
}
public boolean hasActiveCatalystInstance() {
return mCatalystInstance != null && !mCatalystInstance.isDestroyed();
return mCatalystInstance != null && mCatalystInstance.isAcceptingCalls();
}
public LifecycleState getLifecycleState() {