diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK index 5cb908d98c1..61950b38fbe 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK @@ -21,6 +21,9 @@ rn_android_library( react_native_target("java/com/facebook/react/turbomodule/core/interfaces:interfaces"), react_native_target("java/com/facebook/react/uimanager:uimanager"), ], + exported_deps = [ + react_native_target("java/com/facebook/fbreact/specs:FBReactNativeSpec"), + ], ) rn_android_library( diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/NativeSourceCodeSpec.java b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/NativeSourceCodeSpec.java deleted file mode 100644 index f703cc7f82d..00000000000 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/NativeSourceCodeSpec.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -package com.facebook.react.modules.debug; - -import com.facebook.react.bridge.ReactApplicationContext; -import com.facebook.react.bridge.ReactContextBaseJavaModule; -import com.facebook.react.bridge.ReactModuleWithSpec; -import com.facebook.react.common.build.ReactBuildConfig; -import com.facebook.react.turbomodule.core.interfaces.TurboModule; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import javax.annotation.Nullable; - -public abstract class NativeSourceCodeSpec extends ReactContextBaseJavaModule - implements ReactModuleWithSpec, TurboModule { - public NativeSourceCodeSpec(ReactApplicationContext reactContext) { - super(reactContext); - } - - protected abstract Map getTypedExportedConstants(); - - @Override - public final @Nullable Map getConstants() { - Map constants = getTypedExportedConstants(); - if (ReactBuildConfig.DEBUG || ReactBuildConfig.IS_INTERNAL_BUILD) { - Set obligatoryFlowConstants = new HashSet<>(Arrays.asList("scriptURL")); - Set optionalFlowConstants = new HashSet<>(); - Set undeclaredConstants = new HashSet<>(constants.keySet()); - undeclaredConstants.removeAll(obligatoryFlowConstants); - undeclaredConstants.removeAll(optionalFlowConstants); - if (!undeclaredConstants.isEmpty()) { - throw new IllegalStateException( - String.format("Native Module Flow doesn't declare constants: %s", undeclaredConstants)); - } - undeclaredConstants = obligatoryFlowConstants; - undeclaredConstants.removeAll(constants.keySet()); - if (!undeclaredConstants.isEmpty()) { - throw new IllegalStateException( - String.format("Native Module doesn't fill in constants: %s", undeclaredConstants)); - } - } - return constants; - } -} diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java index 29a40f63770..315189544d8 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java @@ -7,6 +7,7 @@ package com.facebook.react.modules.debug; +import com.facebook.fbreact.specs.NativeSourceCodeSpec; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.module.annotations.ReactModule;