Refactor gating that tests removal of ReactModuleInfoProvider in TurboModule system

Summary:
Refactor gating that tests removal of ReactModuleInfoProvider in TurboModule system

changelog: [internal] internal

Reviewed By: fkgozali

Differential Revision: D50895575

fbshipit-source-id: c9050fcc22bcb2b23208a31a05b3367909094f33
This commit is contained in:
David Vacca
2023-11-01 15:44:14 -07:00
committed by Facebook GitHub Bot
parent 0f8a83eb49
commit cf305772c3
4 changed files with 20 additions and 5 deletions
@@ -74,6 +74,11 @@ public abstract class LazyTurboModuleManagerDelegate
throw new UnsupportedOperationException("unstable_isModuleRegistered is not supported");
}
@Override
public boolean unstable_isLazyTurboModuleDelegate() {
return true;
}
@Override
public boolean unstable_shouldEnableLegacyModuleInterop() {
return false;
@@ -178,6 +178,11 @@ public abstract class ReactPackageTurboModuleManagerDelegate extends TurboModule
return (TurboModule) resolvedModule;
}
@Override
public boolean unstable_isLazyTurboModuleDelegate() {
return false;
}
@Override
public boolean unstable_isModuleRegistered(String moduleName) {
for (final ModuleProvider moduleProvider : mModuleProviders) {
@@ -20,7 +20,6 @@ import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactNoCrashSoftException;
import com.facebook.react.bridge.ReactSoftExceptionLogger;
import com.facebook.react.bridge.RuntimeExecutor;
import com.facebook.react.config.ReactFeatureFlags;
import com.facebook.react.internal.turbomodule.core.interfaces.CallInvokerHolder;
import com.facebook.react.internal.turbomodule.core.interfaces.NativeMethodCallInvokerHolder;
import com.facebook.react.internal.turbomodule.core.interfaces.TurboModule;
@@ -196,7 +195,7 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry {
* This API is invoked from global.__turboModuleProxy.
* Only call getModule if the native module is a turbo module.
*/
if (!ReactFeatureFlags.enableTurboModuleStableAPI && !isTurboModule(moduleName)) {
if (!isTurboModuleStableAPIEnabled() && !isTurboModule(moduleName)) {
return null;
}
@@ -206,6 +205,10 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry {
: null;
}
public boolean isTurboModuleStableAPIEnabled() {
return mDelegate != null && mDelegate.unstable_isLazyTurboModuleDelegate();
}
// used from TurboModuleManager.cpp
@SuppressWarnings("unused")
@DoNotStrip
@@ -219,7 +222,7 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry {
* This API is invoked from global.__turboModuleProxy.
* Only call getModule if the native module is a turbo module.
*/
if (!ReactFeatureFlags.enableTurboModuleStableAPI && !isTurboModule(moduleName)) {
if (!isTurboModuleStableAPIEnabled() && !isTurboModule(moduleName)) {
return null;
}
@@ -250,7 +253,7 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry {
+ "\", but TurboModuleManager was tearing down. Returning null. Was legacy: "
+ isLegacyModule(moduleName)
+ ". Was turbo: "
+ (ReactFeatureFlags.enableTurboModuleStableAPI
+ (isTurboModuleStableAPIEnabled()
? "[TurboModuleStableAPI enabled for " + moduleName + "]"
: isTurboModule(moduleName))
+ ".");
@@ -336,7 +339,7 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry {
+ "\". Was legacy: "
+ isLegacyModule(moduleName)
+ ". Was turbo: "
+ (ReactFeatureFlags.enableTurboModuleStableAPI
+ (isTurboModuleStableAPIEnabled()
? "[TurboModuleStableAPI enabled for " + moduleName + "]"
: isTurboModule(moduleName))
+ ".");
@@ -40,6 +40,8 @@ public abstract class TurboModuleManagerDelegate {
public abstract boolean unstable_isModuleRegistered(String moduleName);
public abstract boolean unstable_isLazyTurboModuleDelegate();
/**
* Create an return a legacy NativeModule with name `moduleName`. If `moduleName` is a
* TurboModule, return null.