diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java index 2e2ca160301..0a82ddd5438 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java @@ -186,6 +186,8 @@ public abstract class ReactInstanceManager { protected @Nullable UIImplementationProvider mUIImplementationProvider; protected @Nullable NativeModuleCallExceptionHandler mNativeModuleCallExceptionHandler; protected @Nullable JSCConfig mJSCConfig; + protected @Nullable Activity mCurrentActivity; + protected @Nullable DefaultHardwareBackBtnHandler mDefaultHardwareBackBtnHandler; protected Builder() { } @@ -250,6 +252,17 @@ public abstract class ReactInstanceManager { return this; } + public Builder setCurrentActivity(Activity activity) { + mCurrentActivity = activity; + return this; + } + + public Builder setDefaultHardwareBackBtnHandler( + DefaultHardwareBackBtnHandler defaultHardwareBackBtnHandler) { + mDefaultHardwareBackBtnHandler = defaultHardwareBackBtnHandler; + return this; + } + /** * When {@code true}, developer options such as JS reloading and debugging are enabled. * Note you still have to call {@link #showDevOptionsDialog} to show the dev menu, @@ -289,6 +302,8 @@ public abstract class ReactInstanceManager { * Before calling {@code build}, the following must be called: * */ @@ -310,6 +325,8 @@ public abstract class ReactInstanceManager { Assertions.assertNotNull( mApplication, "Application property has not been set with this builder"), + mCurrentActivity, + mDefaultHardwareBackBtnHandler, mJSBundleFile, mJSMainModuleName, mPackages, diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerImpl.java b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerImpl.java index 1a49bf1139e..47e966c207a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerImpl.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerImpl.java @@ -268,6 +268,8 @@ import static com.facebook.react.bridge.ReactMarkerConstants.RUN_JS_BUNDLE_START /* package */ ReactInstanceManagerImpl( Context applicationContext, + @Nullable Activity currentActivity, + @Nullable DefaultHardwareBackBtnHandler defaultHardwareBackBtnHandler, @Nullable String jsBundleFile, @Nullable String jsMainModuleName, List packages, @@ -284,6 +286,8 @@ import static com.facebook.react.bridge.ReactMarkerConstants.RUN_JS_BUNDLE_START setDisplayMetrics(applicationContext); mApplicationContext = applicationContext; + mCurrentActivity = currentActivity; + mDefaultBackButtonImpl = defaultHardwareBackBtnHandler; mJSBundleFile = jsBundleFile; mJSMainModuleName = jsMainModuleName; mPackages = packages;