Fix unmount of ReactRootView for Fabric surfaces

Reviewed By: fkgozali

Differential Revision: D7114865

fbshipit-source-id: f0a1c47c983e610fe0dba3051ed8aa350ac052cc
This commit is contained in:
David Vacca
2018-03-01 10:24:19 -08:00
committed by Facebook Github Bot
parent c0c388c8aa
commit 9b3861c109
7 changed files with 88 additions and 4 deletions

View File

@@ -71,6 +71,7 @@ import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
import com.facebook.react.devsupport.interfaces.DevSupportManager;
import com.facebook.react.devsupport.interfaces.PackagerStatusCallback;
import com.facebook.react.modules.appregistry.AppRegistry;
import com.facebook.react.modules.fabric.ReactFabric;
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
import com.facebook.react.modules.core.DeviceEventManagerModule;
import com.facebook.react.modules.core.ReactChoreographer;
@@ -1033,8 +1034,14 @@ public class ReactInstanceManager {
CatalystInstance catalystInstance) {
Log.d(ReactConstants.TAG, "ReactInstanceManager.detachViewFromInstance()");
UiThreadUtil.assertOnUiThread();
catalystInstance.getJSModule(AppRegistry.class)
if (rootView.isFabric()) {
catalystInstance.getJSModule(ReactFabric.class)
.unmountComponentAtNodeAndRemoveContainer(rootView.getId());
} else {
catalystInstance.getJSModule(AppRegistry.class)
.unmountApplicationComponentAtRootTag(rootView.getId());
}
}
private void tearDownReactContext(ReactContext reactContext) {