From db40c28728a3c0effaba19f0fe68254844c16598 Mon Sep 17 00:00:00 2001 From: Emily Janzer Date: Thu, 9 May 2019 15:45:27 -0700 Subject: [PATCH] Move message queue initialization in ReactContext into its own method Summary: Refactoring ReactContext to move message queue initialization into its own function that can be called independently of initializeWithInstance. This allows you to create a ReactContext with message queue threads without a CatalystInstance. Reviewed By: mdvacca Differential Revision: D15246287 fbshipit-source-id: 4b8c53e68112af7eded47d8c31311500cc296dfe --- .../java/com/facebook/react/bridge/ReactContext.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java index d07d4ae28a2..3caf5efad1c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java @@ -65,6 +65,17 @@ public class ReactContext extends ContextWrapper { mCatalystInstance = catalystInstance; ReactQueueConfiguration queueConfig = catalystInstance.getReactQueueConfiguration(); + initializeMessageQueueThreads(queueConfig); + } + + /** + * Initialize message queue threads using a ReactQueueConfiguration. + * TODO (janzer) T43898341 Make this package instead of public + */ + public void initializeMessageQueueThreads(ReactQueueConfiguration queueConfig) { + if (mUiMessageQueueThread != null || mNativeModulesMessageQueueThread != null || mJSMessageQueueThread != null) { + throw new IllegalStateException("Message queue threads already initialized"); + } mUiMessageQueueThread = queueConfig.getUIQueueThread(); mNativeModulesMessageQueueThread = queueConfig.getNativeModulesQueueThread(); mJSMessageQueueThread = queueConfig.getJSQueueThread();