From d3ac9fa0c3780b43b73de97831b75cf0a7efe9c4 Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Fri, 18 Oct 2019 16:21:34 -0700 Subject: [PATCH] Check in OSS NativeModule specs Summary: This diff checks in the output from `fbsource//xplat/js:FBReactNativeSpec-flow-type-android-files` into `react-native-github/ReactAndroid/src/main/java/com/facebook/fbreact/specs/`. To update the codegen output, please run: ``` js1 build oss-native-modules-specs -p android ``` To use the codegen, add the following as a buck dep to your target: ``` fbsource//xplat/js/react-native-github/ReactAndroid/src/main/java/com/facebook/fbreact/specs:FBReactNativeSpecAndroid ``` Changelog: [Android][Added] Check in TurboModules codegen Reviewed By: fkgozali Differential Revision: D17990380 fbshipit-source-id: 94895e375311e9360c308dffadf1558a5ff04212 --- .../main/java/com/facebook/fbreact/specs/BUCK | 16 +++ .../specs/NativeAccessibilityInfoSpec.java | 38 +++++ .../specs/NativeAccessibilityManagerSpec.java | 54 +++++++ .../specs/NativeActionSheetManagerSpec.java | 34 +++++ .../fbreact/specs/NativeAlertManagerSpec.java | 30 ++++ .../specs/NativeAnimatedModuleSpec.java | 84 +++++++++++ .../NativeAnimationsDebugModuleSpec.java | 31 ++++ .../fbreact/specs/NativeAppStateSpec.java | 66 +++++++++ .../fbreact/specs/NativeAppearanceSpec.java | 37 +++++ .../fbreact/specs/NativeAsyncStorageSpec.java | 45 ++++++ .../fbreact/specs/NativeBlobModuleSpec.java | 78 ++++++++++ .../fbreact/specs/NativeBugReportingSpec.java | 35 +++++ .../fbreact/specs/NativeClipboardSpec.java | 32 +++++ .../specs/NativeDatePickerAndroidSpec.java | 30 ++++ .../specs/NativeDevLoadingViewSpec.java | 32 +++++ .../fbreact/specs/NativeDevSettingsSpec.java | 54 +++++++ .../specs/NativeDeviceEventManagerSpec.java | 28 ++++ .../fbreact/specs/NativeDeviceInfoSpec.java | 57 ++++++++ .../specs/NativeDialogManagerAndroidSpec.java | 65 +++++++++ .../specs/NativeExceptionsManagerSpec.java | 46 ++++++ .../specs/NativeFileReaderModuleSpec.java | 33 +++++ .../specs/NativeFrameRateLoggerSpec.java | 38 +++++ .../NativeHeadlessJsTaskSupportSpec.java | 32 +++++ .../fbreact/specs/NativeHeapCaptureSpec.java | 32 +++++ .../fbreact/specs/NativeI18nManagerSpec.java | 66 +++++++++ .../fbreact/specs/NativeImageLoaderSpec.java | 40 ++++++ .../specs/NativeImagePickerIOSSpec.java | 47 +++++++ .../specs/NativeJSCSamplingProfilerSpec.java | 30 ++++ .../fbreact/specs/NativeJSDevSupportSpec.java | 64 +++++++++ .../specs/NativeKeyboardObserverSpec.java | 31 ++++ .../fbreact/specs/NativeLinkingSpec.java | 48 +++++++ .../fbreact/specs/NativeModalManagerSpec.java | 31 ++++ .../specs/NativeNetworkingAndroidSpec.java | 45 ++++++ .../specs/NativeNetworkingIOSSpec.java | 42 ++++++ .../specs/NativePermissionsAndroidSpec.java | 39 +++++ .../NativePlatformConstantsAndroidSpec.java | 69 +++++++++ .../specs/NativePlatformConstantsIOSSpec.java | 60 ++++++++ .../NativePushNotificationManagerIOSSpec.java | 80 +++++++++++ .../fbreact/specs/NativeRedBoxSpec.java | 32 +++++ .../specs/NativeSegmentFetcherSpec.java | 34 +++++ .../specs/NativeSettingsManagerSpec.java | 64 +++++++++ .../fbreact/specs/NativeShareModuleSpec.java | 30 ++++ .../fbreact/specs/NativeSoundManagerSpec.java | 28 ++++ .../fbreact/specs/NativeSourceCodeSpec.java | 55 ++++++++ .../specs/NativeStatusBarManagerSpec.java | 82 +++++++++++ .../NativeTVNavigationEventEmitterSpec.java | 31 ++++ .../fbreact/specs/NativeTimingSpec.java | 35 +++++ .../fbreact/specs/NativeToastAndroidSpec.java | 70 +++++++++ .../fbreact/specs/NativeUIManagerSpec.java | 133 ++++++++++++++++++ .../fbreact/specs/NativeVibrationSpec.java | 35 +++++ .../specs/NativeWebSocketModuleSpec.java | 49 +++++++ 51 files changed, 2397 insertions(+) create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/BUCK create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAccessibilityInfoSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAccessibilityManagerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeActionSheetManagerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAlertManagerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAnimatedModuleSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAnimationsDebugModuleSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAppStateSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAppearanceSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAsyncStorageSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeBlobModuleSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeBugReportingSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeClipboardSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDatePickerAndroidSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDevLoadingViewSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDevSettingsSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDeviceEventManagerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDeviceInfoSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDialogManagerAndroidSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeExceptionsManagerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeFileReaderModuleSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeFrameRateLoggerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeHeadlessJsTaskSupportSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeHeapCaptureSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeI18nManagerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImageLoaderSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImagePickerIOSSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeJSCSamplingProfilerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeJSDevSupportSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeKeyboardObserverSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeLinkingSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeModalManagerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeNetworkingAndroidSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeNetworkingIOSSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePermissionsAndroidSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePlatformConstantsAndroidSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePlatformConstantsIOSSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePushNotificationManagerIOSSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeRedBoxSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSegmentFetcherSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSettingsManagerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeShareModuleSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSoundManagerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSourceCodeSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeStatusBarManagerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeTVNavigationEventEmitterSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeTimingSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeToastAndroidSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeUIManagerSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeVibrationSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeWebSocketModuleSpec.java diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/BUCK b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/BUCK new file mode 100644 index 00000000000..2a82dc64f4a --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/BUCK @@ -0,0 +1,16 @@ +load("@fbsource//tools/build_defs/oss:rn_defs.bzl", "react_native_target", "rn_android_library") + +rn_android_library( + name = "FBReactNativeSpec", + srcs = glob(["*.java"]), + visibility = ["PUBLIC"], + deps = [ + "//fbandroid/third-party/java/jsr-305:jsr-305", + "//fbandroid/third-party/java/jsr-330:jsr-330", + react_native_target("java/com/facebook/react/bridge:bridge"), + react_native_target("java/com/facebook/react/common:common"), + ], + exported_deps = [ + react_native_target("java/com/facebook/react/turbomodule/core/interfaces:interfaces"), + ], +) diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAccessibilityInfoSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAccessibilityInfoSpec.java new file mode 100644 index 00000000000..2ec5693ae20 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAccessibilityInfoSpec.java @@ -0,0 +1,38 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeAccessibilityInfoSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeAccessibilityInfoSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void isTouchExplorationEnabled(Callback onSuccess); + + @ReactMethod + public abstract void setAccessibilityFocus(double reactTag); + + @ReactMethod + public abstract void isReduceMotionEnabled(Callback onSuccess); + + @ReactMethod + public abstract void announceForAccessibility(String announcement); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAccessibilityManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAccessibilityManagerSpec.java new file mode 100644 index 00000000000..a25747864a6 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAccessibilityManagerSpec.java @@ -0,0 +1,54 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeAccessibilityManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeAccessibilityManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void getCurrentReduceMotionState(Callback onSuccess, Callback onError); + + @ReactMethod + public abstract void getCurrentReduceTransparencyState(Callback onSuccess, Callback onError); + + @ReactMethod + public abstract void getCurrentInvertColorsState(Callback onSuccess, Callback onError); + + @ReactMethod + public abstract void getCurrentGrayscaleState(Callback onSuccess, Callback onError); + + @ReactMethod + public abstract void getCurrentBoldTextState(Callback onSuccess, Callback onError); + + @ReactMethod + public abstract void setAccessibilityFocus(double reactTag); + + @ReactMethod + public abstract void getCurrentVoiceOverState(Callback onSuccess, Callback onError); + + @ReactMethod + public abstract void announceForAccessibility(String announcement); + + @ReactMethod + public abstract void setAccessibilityContentSizeMultipliers(ReadableMap JSMultipliers); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeActionSheetManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeActionSheetManagerSpec.java new file mode 100644 index 00000000000..4fd38854928 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeActionSheetManagerSpec.java @@ -0,0 +1,34 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeActionSheetManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeActionSheetManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void showActionSheetWithOptions(ReadableMap options, Callback callback); + + @ReactMethod + public abstract void showShareActionSheetWithOptions(ReadableMap options, + Callback failureCallback, Callback successCallback); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAlertManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAlertManagerSpec.java new file mode 100644 index 00000000000..312556634f4 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAlertManagerSpec.java @@ -0,0 +1,30 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeAlertManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeAlertManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void alertWithArgs(ReadableMap args, Callback callback); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAnimatedModuleSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAnimatedModuleSpec.java new file mode 100644 index 00000000000..9ca4222c09a --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAnimatedModuleSpec.java @@ -0,0 +1,84 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeAnimatedModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeAnimatedModuleSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void dropAnimatedNode(double tag); + + @ReactMethod + public abstract void connectAnimatedNodes(double parentTag, double childTag); + + @ReactMethod + public abstract void stopAnimation(double animationId); + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void disconnectAnimatedNodeFromView(double nodeTag, double viewTag); + + @ReactMethod + public abstract void removeAnimatedEventFromView(double viewTag, String eventName, + double animatedNodeTag); + + @ReactMethod + public abstract void flattenAnimatedNodeOffset(double nodeTag); + + @ReactMethod + public abstract void extractAnimatedNodeOffset(double nodeTag); + + @ReactMethod + public abstract void disconnectAnimatedNodes(double parentTag, double childTag); + + @ReactMethod + public abstract void setAnimatedNodeValue(double nodeTag, double value); + + @ReactMethod + public abstract void setAnimatedNodeOffset(double nodeTag, double offset); + + @ReactMethod + public abstract void startAnimatingNode(double animationId, double nodeTag, ReadableMap config, + Callback endCallback); + + @ReactMethod + public abstract void stopListeningToAnimatedNodeValue(double tag); + + @ReactMethod + public abstract void addAnimatedEventToView(double viewTag, String eventName, + ReadableMap eventMapping); + + @ReactMethod + public abstract void createAnimatedNode(double tag, ReadableMap config); + + @ReactMethod + public abstract void startListeningToAnimatedNodeValue(double tag); + + @ReactMethod + public abstract void connectAnimatedNodeToView(double nodeTag, double viewTag); + + @ReactMethod + public abstract void addListener(String eventName); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAnimationsDebugModuleSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAnimationsDebugModuleSpec.java new file mode 100644 index 00000000000..19c3a63a872 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAnimationsDebugModuleSpec.java @@ -0,0 +1,31 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeAnimationsDebugModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeAnimationsDebugModuleSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void startRecordingFps(); + + @ReactMethod + public abstract void stopRecordingFps(double animationStopTimeMs); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAppStateSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAppStateSpec.java new file mode 100644 index 00000000000..88a5da810ad --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAppStateSpec.java @@ -0,0 +1,66 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +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 NativeAppStateSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeAppStateSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void getCurrentAppState(Callback success, Callback failure); + + @ReactMethod + public abstract void addListener(String eventName); + + 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( + "initialAppState" + )); + 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/fbreact/specs/NativeAppearanceSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAppearanceSpec.java new file mode 100644 index 00000000000..d374986b1f5 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAppearanceSpec.java @@ -0,0 +1,37 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; +import javax.annotation.Nullable; + +public abstract class NativeAppearanceSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeAppearanceSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void addListener(String eventName); + + @ReactMethod( + isBlockingSynchronousMethod = true + ) + public abstract @Nullable String getColorScheme(); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAsyncStorageSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAsyncStorageSpec.java new file mode 100644 index 00000000000..562e308978d --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeAsyncStorageSpec.java @@ -0,0 +1,45 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeAsyncStorageSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeAsyncStorageSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void multiSet(ReadableArray kvPairs, Callback callback); + + @ReactMethod + public abstract void getAllKeys(Callback callback); + + @ReactMethod + public abstract void multiGet(ReadableArray keys, Callback callback); + + @ReactMethod + public abstract void clear(Callback callback); + + @ReactMethod + public abstract void multiMerge(ReadableArray kvPairs, Callback callback); + + @ReactMethod + public abstract void multiRemove(ReadableArray keys, Callback callback); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeBlobModuleSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeBlobModuleSpec.java new file mode 100644 index 00000000000..14ea57f1d41 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeBlobModuleSpec.java @@ -0,0 +1,78 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +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 NativeBlobModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeBlobModuleSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void sendOverSocket(ReadableMap blob, double socketID); + + @ReactMethod + public abstract void addNetworkingHandler(); + + @ReactMethod + public abstract void createFromParts(ReadableArray parts, String withId); + + @ReactMethod + public abstract void addWebSocketHandler(double id); + + @ReactMethod + public abstract void release(String blobId); + + @ReactMethod + public abstract void removeWebSocketHandler(double id); + + 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( + "BLOB_URI_SCHEME" + )); + Set optionalFlowConstants = new HashSet<>(Arrays.asList( + "BLOB_URI_HOST" + )); + 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/fbreact/specs/NativeBugReportingSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeBugReportingSpec.java new file mode 100644 index 00000000000..8df4e825bdb --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeBugReportingSpec.java @@ -0,0 +1,35 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeBugReportingSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeBugReportingSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void startReportAProblemFlow(); + + @ReactMethod + public abstract void setCategoryID(String categoryID); + + @ReactMethod + public abstract void setExtraData(ReadableMap extraData, ReadableMap extraFiles); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeClipboardSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeClipboardSpec.java new file mode 100644 index 00000000000..363bdd63730 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeClipboardSpec.java @@ -0,0 +1,32 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeClipboardSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeClipboardSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void setString(String content); + + @ReactMethod + public abstract void getString(Promise promise); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDatePickerAndroidSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDatePickerAndroidSpec.java new file mode 100644 index 00000000000..fb2280e2a68 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDatePickerAndroidSpec.java @@ -0,0 +1,30 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeDatePickerAndroidSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeDatePickerAndroidSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void open(ReadableMap options, Promise promise); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDevLoadingViewSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDevLoadingViewSpec.java new file mode 100644 index 00000000000..30cb6d15958 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDevLoadingViewSpec.java @@ -0,0 +1,32 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeDevLoadingViewSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeDevLoadingViewSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void hide(); + + @ReactMethod + public abstract void showMessage(String message, ReadableMap color, ReadableMap backgroundColor); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDevSettingsSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDevSettingsSpec.java new file mode 100644 index 00000000000..c1ff7bde0f8 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDevSettingsSpec.java @@ -0,0 +1,54 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeDevSettingsSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeDevSettingsSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void setIsDebuggingRemotely(boolean isDebuggingRemotelyEnabled); + + @ReactMethod + public void onFastRefresh() { + } + + @ReactMethod + public abstract void reload(); + + @ReactMethod + public abstract void setProfilingEnabled(boolean isProfilingEnabled); + + @ReactMethod + public abstract void addMenuItem(String title); + + @ReactMethod + public abstract void toggleElementInspector(); + + @ReactMethod + public abstract void setHotLoadingEnabled(boolean isHotLoadingEnabled); + + @ReactMethod + public void reloadWithReason(String reason) { + } + + @ReactMethod + public abstract void setIsShakeToShowDevMenuEnabled(boolean enabled); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDeviceEventManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDeviceEventManagerSpec.java new file mode 100644 index 00000000000..22c06fe9756 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDeviceEventManagerSpec.java @@ -0,0 +1,28 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeDeviceEventManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeDeviceEventManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void invokeDefaultBackPressHandler(); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDeviceInfoSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDeviceInfoSpec.java new file mode 100644 index 00000000000..a9013c59275 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDeviceInfoSpec.java @@ -0,0 +1,57 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +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 NativeDeviceInfoSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeDeviceInfoSpec(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( + "Dimensions" + )); + Set optionalFlowConstants = new HashSet<>(Arrays.asList( + "isIPhoneX_deprecated" + )); + 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/fbreact/specs/NativeDialogManagerAndroidSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDialogManagerAndroidSpec.java new file mode 100644 index 00000000000..9f2f8986a51 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeDialogManagerAndroidSpec.java @@ -0,0 +1,65 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +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 NativeDialogManagerAndroidSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeDialogManagerAndroidSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void showAlert(ReadableMap config, Callback onError, Callback onAction); + + 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( + "buttonNeutral", + "buttonClicked", + "dismissed", + "buttonNegative", + "buttonPositive" + )); + 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/fbreact/specs/NativeExceptionsManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeExceptionsManagerSpec.java new file mode 100644 index 00000000000..0e55067f682 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeExceptionsManagerSpec.java @@ -0,0 +1,46 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeExceptionsManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeExceptionsManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public void dismissRedbox() { + } + + @ReactMethod + public abstract void updateExceptionMessage(String message, ReadableArray stack, + double exceptionId); + + @ReactMethod + public void reportException(ReadableMap data) { + } + + @ReactMethod + public abstract void reportFatalException(String message, ReadableArray stack, + double exceptionId); + + @ReactMethod + public abstract void reportSoftException(String message, ReadableArray stack, double exceptionId); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeFileReaderModuleSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeFileReaderModuleSpec.java new file mode 100644 index 00000000000..a15fb30bd96 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeFileReaderModuleSpec.java @@ -0,0 +1,33 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeFileReaderModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeFileReaderModuleSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void readAsDataURL(ReadableMap data, Promise promise); + + @ReactMethod + public abstract void readAsText(ReadableMap data, String encoding, Promise promise); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeFrameRateLoggerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeFrameRateLoggerSpec.java new file mode 100644 index 00000000000..33cf41843c1 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeFrameRateLoggerSpec.java @@ -0,0 +1,38 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeFrameRateLoggerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeFrameRateLoggerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void endScroll(); + + @ReactMethod + public abstract void beginScroll(); + + @ReactMethod + public abstract void setContext(String context); + + @ReactMethod + public abstract void setGlobalOptions(ReadableMap options); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeHeadlessJsTaskSupportSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeHeadlessJsTaskSupportSpec.java new file mode 100644 index 00000000000..d59015eddad --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeHeadlessJsTaskSupportSpec.java @@ -0,0 +1,32 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeHeadlessJsTaskSupportSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeHeadlessJsTaskSupportSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void notifyTaskFinished(double taskId); + + @ReactMethod + public abstract void notifyTaskRetry(double taskId, Promise promise); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeHeapCaptureSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeHeapCaptureSpec.java new file mode 100644 index 00000000000..c2f84fcc59a --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeHeapCaptureSpec.java @@ -0,0 +1,32 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; +import javax.annotation.Nullable; + +public abstract class NativeHeapCaptureSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeHeapCaptureSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void captureComplete(String path, @Nullable String error); + + @ReactMethod + public abstract void captureHeap(String path); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeI18nManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeI18nManagerSpec.java new file mode 100644 index 00000000000..a3eec9b7d0b --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeI18nManagerSpec.java @@ -0,0 +1,66 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +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 NativeI18nManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeI18nManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void allowRTL(boolean allowRTL); + + @ReactMethod + public abstract void forceRTL(boolean forceRTL); + + @ReactMethod + public abstract void swapLeftAndRightInRTL(boolean flipStyles); + + 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( + "doLeftAndRightSwapInRTL", + "isRTL" + )); + 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/fbreact/specs/NativeImageLoaderSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImageLoaderSpec.java new file mode 100644 index 00000000000..eabf4a29d3b --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImageLoaderSpec.java @@ -0,0 +1,40 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeImageLoaderSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeImageLoaderSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void getSize(String uri, Promise promise); + + @ReactMethod + public abstract void prefetchImage(String uri, Promise promise); + + @ReactMethod + public abstract void queryCache(ReadableArray uris, Promise promise); + + @ReactMethod + public abstract void getSizeWithHeaders(String uri, ReadableMap headers, Promise promise); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImagePickerIOSSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImagePickerIOSSpec.java new file mode 100644 index 00000000000..4c0ac13fa0d --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImagePickerIOSSpec.java @@ -0,0 +1,47 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeImagePickerIOSSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeImagePickerIOSSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void openCameraDialog(ReadableMap config, Callback successCallback, + Callback cancelCallback); + + @ReactMethod + public abstract void openSelectDialog(ReadableMap config, Callback successCallback, + Callback cancelCallback); + + @ReactMethod + public abstract void canUseCamera(Callback callback); + + @ReactMethod + public abstract void canRecordVideos(Callback callback); + + @ReactMethod + public abstract void clearAllPendingVideos(); + + @ReactMethod + public abstract void removePendingVideo(String url); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeJSCSamplingProfilerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeJSCSamplingProfilerSpec.java new file mode 100644 index 00000000000..5d4504d547d --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeJSCSamplingProfilerSpec.java @@ -0,0 +1,30 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; +import javax.annotation.Nullable; + +public abstract class NativeJSCSamplingProfilerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeJSCSamplingProfilerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void operationComplete(double token, @Nullable String result, + @Nullable String error); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeJSDevSupportSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeJSDevSupportSpec.java new file mode 100644 index 00000000000..4663777a6c2 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeJSDevSupportSpec.java @@ -0,0 +1,64 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +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 NativeJSDevSupportSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeJSDevSupportSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void onFailure(double errorCode, String error); + + @ReactMethod + public abstract void onSuccess(ReadableMap data); + + 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( + "ERROR_CODE_EXCEPTION", + "ERROR_CODE_VIEW_NOT_FOUND" + )); + 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/fbreact/specs/NativeKeyboardObserverSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeKeyboardObserverSpec.java new file mode 100644 index 00000000000..a873c5ac8d9 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeKeyboardObserverSpec.java @@ -0,0 +1,31 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeKeyboardObserverSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeKeyboardObserverSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void addListener(String eventName); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeLinkingSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeLinkingSpec.java new file mode 100644 index 00000000000..fda26bec4a8 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeLinkingSpec.java @@ -0,0 +1,48 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeLinkingSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeLinkingSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void sendIntent(String action, ReadableArray extras, Promise promise); + + @ReactMethod + public abstract void openURL(String url, Promise promise); + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void canOpenURL(String url, Promise promise); + + @ReactMethod + public abstract void getInitialURL(Promise promise); + + @ReactMethod + public abstract void openSettings(Promise promise); + + @ReactMethod + public abstract void addListener(String eventName); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeModalManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeModalManagerSpec.java new file mode 100644 index 00000000000..0ed022867f8 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeModalManagerSpec.java @@ -0,0 +1,31 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeModalManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeModalManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void addListener(String eventName); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeNetworkingAndroidSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeNetworkingAndroidSpec.java new file mode 100644 index 00000000000..bdeb3ed49e4 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeNetworkingAndroidSpec.java @@ -0,0 +1,45 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeNetworkingAndroidSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeNetworkingAndroidSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void abortRequest(double requestId); + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void clearCookies(Callback callback); + + @ReactMethod + public abstract void sendRequest(String method, String url, double requestId, + ReadableArray headers, ReadableMap data, ReadableMap responseType, + boolean useIncrementalUpdates, double timeout, boolean withCredentials); + + @ReactMethod + public abstract void addListener(String eventName); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeNetworkingIOSSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeNetworkingIOSSpec.java new file mode 100644 index 00000000000..18fa1c51eb4 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeNetworkingIOSSpec.java @@ -0,0 +1,42 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeNetworkingIOSSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeNetworkingIOSSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void abortRequest(double requestId); + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void clearCookies(Callback callback); + + @ReactMethod + public abstract void sendRequest(ReadableMap query, Callback callback); + + @ReactMethod + public abstract void addListener(String eventName); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePermissionsAndroidSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePermissionsAndroidSpec.java new file mode 100644 index 00000000000..0c9f8adec51 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePermissionsAndroidSpec.java @@ -0,0 +1,39 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativePermissionsAndroidSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativePermissionsAndroidSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void requestPermission(String permission, Promise promise); + + @ReactMethod + public abstract void checkPermission(String permission, Promise promise); + + @ReactMethod + public abstract void shouldShowRequestPermissionRationale(String permission, Promise promise); + + @ReactMethod + public abstract void requestMultiplePermissions(ReadableArray permissions, Promise promise); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePlatformConstantsAndroidSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePlatformConstantsAndroidSpec.java new file mode 100644 index 00000000000..c39b6a03d53 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePlatformConstantsAndroidSpec.java @@ -0,0 +1,69 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +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 NativePlatformConstantsAndroidSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativePlatformConstantsAndroidSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod( + isBlockingSynchronousMethod = true + ) + public abstract String getAndroidID(); + + 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( + "Serial", + "Fingerprint", + "uiMode", + "Version", + "reactNativeVersion", + "Model", + "ServerHost", + "isTesting", + "Release" + )); + 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/fbreact/specs/NativePlatformConstantsIOSSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePlatformConstantsIOSSpec.java new file mode 100644 index 00000000000..454b3f75d4e --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePlatformConstantsIOSSpec.java @@ -0,0 +1,60 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +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 NativePlatformConstantsIOSSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativePlatformConstantsIOSSpec(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( + "osVersion", + "systemName", + "forceTouchAvailable", + "reactNativeVersion", + "interfaceIdiom", + "isTesting" + )); + 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/fbreact/specs/NativePushNotificationManagerIOSSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePushNotificationManagerIOSSpec.java new file mode 100644 index 00000000000..a2b10ddcc25 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativePushNotificationManagerIOSSpec.java @@ -0,0 +1,80 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativePushNotificationManagerIOSSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativePushNotificationManagerIOSSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void getInitialNotification(Promise promise); + + @ReactMethod + public abstract void setApplicationIconBadgeNumber(double num); + + @ReactMethod + public abstract void scheduleLocalNotification(ReadableMap notification); + + @ReactMethod + public abstract void getScheduledLocalNotifications(Callback callback); + + @ReactMethod + public abstract void checkPermissions(Callback callback); + + @ReactMethod + public abstract void requestPermissions(ReadableMap permission, Promise promise); + + @ReactMethod + public abstract void removeAllDeliveredNotifications(); + + @ReactMethod + public abstract void onFinishRemoteNotification(String notificationId, String fetchResult); + + @ReactMethod + public abstract void cancelLocalNotifications(ReadableMap userInfo); + + @ReactMethod + public abstract void abandonPermissions(); + + @ReactMethod + public abstract void removeDeliveredNotifications(ReadableArray identifiers); + + @ReactMethod + public abstract void cancelAllLocalNotifications(); + + @ReactMethod + public abstract void getDeliveredNotifications(Callback callback); + + @ReactMethod + public abstract void getApplicationIconBadgeNumber(Callback callback); + + @ReactMethod + public abstract void addListener(String eventType); + + @ReactMethod + public abstract void presentLocalNotification(ReadableMap notification); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeRedBoxSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeRedBoxSpec.java new file mode 100644 index 00000000000..6f7d2df753b --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeRedBoxSpec.java @@ -0,0 +1,32 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeRedBoxSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeRedBoxSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void setExtraData(ReadableMap extraData, String identifier); + + @ReactMethod + public abstract void dismiss(); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSegmentFetcherSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSegmentFetcherSpec.java new file mode 100644 index 00000000000..45946a5605f --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSegmentFetcherSpec.java @@ -0,0 +1,34 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeSegmentFetcherSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeSegmentFetcherSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void fetchSegment(double segmentId, ReadableMap options, Callback callback); + + @ReactMethod + public void getSegment(double segmentId, ReadableMap options, Callback callback) { + } +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSettingsManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSettingsManagerSpec.java new file mode 100644 index 00000000000..58f8be1d8f4 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSettingsManagerSpec.java @@ -0,0 +1,64 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +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 NativeSettingsManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeSettingsManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void setValues(ReadableMap values); + + @ReactMethod + public abstract void deleteValues(ReadableArray values); + + 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( + "settings" + )); + 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/fbreact/specs/NativeShareModuleSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeShareModuleSpec.java new file mode 100644 index 00000000000..ae5740bf4fe --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeShareModuleSpec.java @@ -0,0 +1,30 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeShareModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeShareModuleSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void share(ReadableMap content, String dialogTitle, Promise promise); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSoundManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSoundManagerSpec.java new file mode 100644 index 00000000000..c139b51f60e --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSoundManagerSpec.java @@ -0,0 +1,28 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeSoundManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeSoundManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void playTouchSound(); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSourceCodeSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSourceCodeSpec.java new file mode 100644 index 00000000000..7b462d4d625 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeSourceCodeSpec.java @@ -0,0 +1,55 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +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/fbreact/specs/NativeStatusBarManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeStatusBarManagerSpec.java new file mode 100644 index 00000000000..fa6181627b1 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeStatusBarManagerSpec.java @@ -0,0 +1,82 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +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 NativeStatusBarManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeStatusBarManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void setNetworkActivityIndicatorVisible(boolean visible); + + @ReactMethod + public abstract void setTranslucent(boolean translucent); + + @ReactMethod + public abstract void getHeight(Callback callback); + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void setColor(double color, boolean animated); + + @ReactMethod + public abstract void setHidden(boolean hidden, @Nullable String withAnimation); + + @ReactMethod + public abstract void setStyle(@Nullable String statusBarStyle, Boolean animated); + + @ReactMethod + public abstract void addListener(String eventType); + + 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( + "DEFAULT_BACKGROUND_COLOR", + "HEIGHT" + )); + 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/fbreact/specs/NativeTVNavigationEventEmitterSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeTVNavigationEventEmitterSpec.java new file mode 100644 index 00000000000..5d61f209ffb --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeTVNavigationEventEmitterSpec.java @@ -0,0 +1,31 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeTVNavigationEventEmitterSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeTVNavigationEventEmitterSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void addListener(String eventName); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeTimingSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeTimingSpec.java new file mode 100644 index 00000000000..d33489a77ac --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeTimingSpec.java @@ -0,0 +1,35 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeTimingSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeTimingSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void deleteTimer(double timerID); + + @ReactMethod + public abstract void createTimer(double callbackID, double duration, double jsSchedulingTime, + boolean repeats); + + @ReactMethod + public abstract void setSendIdleEvents(boolean sendIdleEvents); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeToastAndroidSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeToastAndroidSpec.java new file mode 100644 index 00000000000..d9bf4efc8c2 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeToastAndroidSpec.java @@ -0,0 +1,70 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +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 NativeToastAndroidSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeToastAndroidSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void showWithGravityAndOffset(String message, double duration, double gravity, + double xOffset, double yOffset); + + @ReactMethod + public abstract void show(String message, double duration); + + @ReactMethod + public abstract void showWithGravity(String message, double duration, double gravity); + + 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( + "CENTER", + "TOP", + "BOTTOM", + "SHORT", + "LONG" + )); + 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/fbreact/specs/NativeUIManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeUIManagerSpec.java new file mode 100644 index 00000000000..1f9cdce0522 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeUIManagerSpec.java @@ -0,0 +1,133 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.bridge.WritableArray; +import com.facebook.react.bridge.WritableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; +import java.util.Map; +import javax.annotation.Nullable; + +public abstract class NativeUIManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeUIManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod( + isBlockingSynchronousMethod = true + ) + public abstract WritableArray getDefaultEventTypes(); + + @ReactMethod + public abstract void setLayoutAnimationEnabledExperimental(boolean enabled); + + @ReactMethod + public abstract void configureNextLayoutAnimation(ReadableMap config, Callback callback, + Callback errorCallback); + + @ReactMethod + public abstract void playTouchSound(); + + @ReactMethod + public abstract void blur(Double reactTag); + + @ReactMethod + public abstract void focus(Double reactTag); + + @ReactMethod + public abstract void removeSubviewsFromContainerWithID(double containerID); + + @ReactMethod + public abstract void setJSResponder(Double reactTag, boolean blockNativeResponder); + + @ReactMethod + public abstract void clearJSResponder(); + + @ReactMethod + public abstract void measureLayout(Double reactTag, Double ancestorReactTag, + Callback errorCallback, Callback callback); + + @ReactMethod( + isBlockingSynchronousMethod = true + ) + public abstract WritableMap getConstantsForViewManager(String viewManagerName); + + @ReactMethod + public abstract void updateView(double reactTag, String viewName, ReadableMap props); + + @ReactMethod + public abstract void dispatchViewManagerCommand(Double reactTag, double commandID, + ReadableArray commandArgs); + + @ReactMethod + public abstract void createView(Double reactTag, String viewName, double rootTag, + ReadableMap props); + + @ReactMethod + public abstract void sendAccessibilityEvent(Double reactTag, double eventType); + + @ReactMethod + public abstract void measureInWindow(Double reactTag, Callback callback); + + @ReactMethod + public abstract void viewIsDescendantOf(Double reactTag, Double ancestorReactTag, + Callback callback); + + @ReactMethod( + isBlockingSynchronousMethod = true + ) + public abstract WritableMap lazilyLoadView(String name); + + @ReactMethod + public abstract void findSubviewIn(Double reactTag, ReadableArray point, Callback callback); + + @ReactMethod + public abstract void manageChildren(Double containerTag, ReadableArray moveFromIndices, + ReadableArray moveToIndices, ReadableArray addChildReactTags, ReadableArray addAtIndices, + ReadableArray removeAtIndices); + + @ReactMethod + public abstract void showPopupMenu(Double reactTag, ReadableArray items, Callback error, + Callback success); + + @ReactMethod + public abstract void replaceExistingNonRootView(Double reactTag, Double newReactTag); + + @ReactMethod + public abstract void dismissPopupMenu(); + + @ReactMethod + public abstract void measure(Double reactTag, Callback callback); + + @ReactMethod + public abstract void measureLayoutRelativeToParent(Double reactTag, Callback errorCallback, + Callback callback); + + @ReactMethod + public abstract void setChildren(Double containerTag, ReadableArray reactTags); + + protected abstract Map getTypedExportedConstants(); + + @Override + public final @Nullable Map getConstants() { + Map constants = getTypedExportedConstants(); + return constants; + } +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeVibrationSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeVibrationSpec.java new file mode 100644 index 00000000000..4214a3c30fe --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeVibrationSpec.java @@ -0,0 +1,35 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeVibrationSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeVibrationSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void cancel(); + + @ReactMethod + public abstract void vibrateByPattern(ReadableArray pattern, double repeat); + + @ReactMethod + public abstract void vibrate(Double pattern); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeWebSocketModuleSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeWebSocketModuleSpec.java new file mode 100644 index 00000000000..a775f2389f3 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeWebSocketModuleSpec.java @@ -0,0 +1,49 @@ +/** + * 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. + * + *

Generated by an internal genrule from Flow types. + * + * @generated + * @nolint + */ + +package com.facebook.fbreact.specs; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReactModuleWithSpec; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeWebSocketModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeWebSocketModuleSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void sendBinary(String base64String, double socketID); + + @ReactMethod + public abstract void removeListeners(double count); + + @ReactMethod + public abstract void ping(double socketID); + + @ReactMethod + public abstract void close(double code, String reason, double socketID); + + @ReactMethod + public abstract void send(String message, double socketID); + + @ReactMethod + public abstract void connect(String url, ReadableArray protocols, ReadableMap options, + double socketID); + + @ReactMethod + public abstract void addListener(String eventName); +}