diff --git a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm index 91687bc555c..fb8a3b1dc40 100644 --- a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +++ b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm @@ -1431,6 +1431,50 @@ namespace facebook { } // namespace react } // namespace facebook +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeIntentAndroidSpecJSI_getInitialURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "getInitialURL", @selector(getInitialURL:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeIntentAndroidSpecJSI_canOpenURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "canOpenURL", @selector(canOpenURL:resolve:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeIntentAndroidSpecJSI_openURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "openURL", @selector(openURL:resolve:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeIntentAndroidSpecJSI_openSettings(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "openSettings", @selector(openSettings:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeIntentAndroidSpecJSI_sendIntent(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "sendIntent", @selector(sendIntent:extras:resolve:reject:), args, count); + } + + NativeIntentAndroidSpecJSI::NativeIntentAndroidSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getInitialURL"] = MethodMetadata {0, __hostFunction_NativeIntentAndroidSpecJSI_getInitialURL}; + + + methodMap_["canOpenURL"] = MethodMetadata {1, __hostFunction_NativeIntentAndroidSpecJSI_canOpenURL}; + + + methodMap_["openURL"] = MethodMetadata {1, __hostFunction_NativeIntentAndroidSpecJSI_openURL}; + + + methodMap_["openSettings"] = MethodMetadata {0, __hostFunction_NativeIntentAndroidSpecJSI_openSettings}; + + + methodMap_["sendIntent"] = MethodMetadata {2, __hostFunction_NativeIntentAndroidSpecJSI_sendIntent}; + + } + } // namespace react +} // namespace facebook + namespace facebook { namespace react { @@ -1519,56 +1563,49 @@ namespace facebook { namespace facebook { namespace react { - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_getInitialURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_getInitialURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "getInitialURL", @selector(getInitialURL:reject:), args, count); } - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_canOpenURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_canOpenURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "canOpenURL", @selector(canOpenURL:resolve:reject:), args, count); } - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_openURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_openURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "openURL", @selector(openURL:resolve:reject:), args, count); } - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_openSettings(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_openSettings(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "openSettings", @selector(openSettings:reject:), args, count); } - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_sendIntent(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { - return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "sendIntent", @selector(sendIntent:extras:resolve:reject:), args, count); - } - - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); } - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); } - NativeLinkingSpecJSI::NativeLinkingSpecJSI(const ObjCTurboModule::InitParams ¶ms) + NativeLinkingManagerSpecJSI::NativeLinkingManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms) : ObjCTurboModule(params) { - methodMap_["getInitialURL"] = MethodMetadata {0, __hostFunction_NativeLinkingSpecJSI_getInitialURL}; + methodMap_["getInitialURL"] = MethodMetadata {0, __hostFunction_NativeLinkingManagerSpecJSI_getInitialURL}; - methodMap_["canOpenURL"] = MethodMetadata {1, __hostFunction_NativeLinkingSpecJSI_canOpenURL}; + methodMap_["canOpenURL"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_canOpenURL}; - methodMap_["openURL"] = MethodMetadata {1, __hostFunction_NativeLinkingSpecJSI_openURL}; + methodMap_["openURL"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_openURL}; - methodMap_["openSettings"] = MethodMetadata {0, __hostFunction_NativeLinkingSpecJSI_openSettings}; + methodMap_["openSettings"] = MethodMetadata {0, __hostFunction_NativeLinkingManagerSpecJSI_openSettings}; - methodMap_["sendIntent"] = MethodMetadata {2, __hostFunction_NativeLinkingSpecJSI_sendIntent}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_addListener}; - methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeLinkingSpecJSI_addListener}; - - - methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeLinkingSpecJSI_removeListeners}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_removeListeners}; } } // namespace react diff --git a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h index 8c3415791db..1ba546bd1cb 100644 --- a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +++ b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h @@ -1314,6 +1314,36 @@ namespace facebook { } // namespace react } // namespace facebook +@protocol NativeIntentAndroidSpec + +- (void)getInitialURL:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)canOpenURL:(NSString *)url + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)openURL:(NSString *)url + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)openSettings:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)sendIntent:(NSString *)action + extras:(NSArray * _Nullable)extras + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'IntentAndroid' + */ + class JSI_EXPORT NativeIntentAndroidSpecJSI : public ObjCTurboModule { + public: + NativeIntentAndroidSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + @protocol NativeJSCHeapCaptureSpec - (void)captureComplete:(NSString *)path @@ -1417,7 +1447,7 @@ namespace facebook { } // namespace react } // namespace facebook -@protocol NativeLinkingSpec +@protocol NativeLinkingManagerSpec - (void)getInitialURL:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject; @@ -1429,10 +1459,6 @@ namespace facebook { reject:(RCTPromiseRejectBlock)reject; - (void)openSettings:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject; -- (void)sendIntent:(NSString *)action - extras:(NSArray * _Nullable)extras - resolve:(RCTPromiseResolveBlock)resolve - reject:(RCTPromiseRejectBlock)reject; - (void)addListener:(NSString *)eventName; - (void)removeListeners:(double)count; @@ -1440,11 +1466,11 @@ namespace facebook { namespace facebook { namespace react { /** - * ObjC++ class for module 'Linking' + * ObjC++ class for module 'LinkingManager' */ - class JSI_EXPORT NativeLinkingSpecJSI : public ObjCTurboModule { + class JSI_EXPORT NativeLinkingManagerSpecJSI : public ObjCTurboModule { public: - NativeLinkingSpecJSI(const ObjCTurboModule::InitParams ¶ms); + NativeLinkingManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms); }; } // namespace react } // namespace facebook @@ -2760,6 +2786,7 @@ inline bool JS::NativeImagePickerIOS::SpecOpenSelectDialogConfig::showVideos() c + inline JS::NativeJSDevSupport::Constants::Builder::Builder(const Input i) : _factory(^{ NSMutableDictionary *d = [NSMutableDictionary new]; auto ERROR_CODE_EXCEPTION = i.ERROR_CODE_EXCEPTION.get(); diff --git a/Libraries/Linking/Linking.js b/Libraries/Linking/Linking.js index cd77584cb87..00f737ae48a 100644 --- a/Libraries/Linking/Linking.js +++ b/Libraries/Linking/Linking.js @@ -13,7 +13,8 @@ import NativeEventEmitter from '../EventEmitter/NativeEventEmitter'; import InteractionManager from '../Interaction/InteractionManager'; import Platform from '../Utilities/Platform'; -import NativeLinking from './NativeLinking'; +import NativeLinkingManager from './NativeLinkingManager'; +import NativeIntentAndroid from './NativeIntentAndroid'; import invariant from 'invariant'; /** @@ -24,7 +25,7 @@ import invariant from 'invariant'; */ class Linking extends NativeEventEmitter { constructor() { - super(NativeLinking); + super(Platform.OS === 'ios' ? NativeLinkingManager : undefined); } /** @@ -53,7 +54,11 @@ class Linking extends NativeEventEmitter { */ openURL(url: string): Promise { this._validateURL(url); - return NativeLinking.openURL(url); + if (Platform.OS === 'android') { + return NativeIntentAndroid.openURL(url); + } else { + return NativeLinkingManager.openURL(url); + } } /** @@ -63,7 +68,11 @@ class Linking extends NativeEventEmitter { */ canOpenURL(url: string): Promise { this._validateURL(url); - return NativeLinking.canOpenURL(url); + if (Platform.OS === 'android') { + return NativeIntentAndroid.canOpenURL(url); + } else { + return NativeLinkingManager.canOpenURL(url); + } } /** @@ -72,7 +81,11 @@ class Linking extends NativeEventEmitter { * See https://reactnative.dev/docs/linking.html#opensettings */ openSettings(): Promise { - return NativeLinking.openSettings(); + if (Platform.OS === 'android') { + return NativeIntentAndroid.openSettings(); + } else { + return NativeLinkingManager.openSettings(); + } } /** @@ -84,9 +97,9 @@ class Linking extends NativeEventEmitter { getInitialURL(): Promise { return Platform.OS === 'android' ? InteractionManager.runAfterInteractions().then(() => - NativeLinking.getInitialURL(), + NativeIntentAndroid.getInitialURL(), ) - : NativeLinking.getInitialURL(); + : NativeLinkingManager.getInitialURL(); } /* @@ -105,7 +118,7 @@ class Linking extends NativeEventEmitter { }>, ): Promise { if (Platform.OS === 'android') { - return NativeLinking.sendIntent(action, extras); + return NativeIntentAndroid.sendIntent(action, extras); } else { return new Promise((resolve, reject) => reject(new Error('Unsupported'))); } diff --git a/Libraries/Linking/NativeLinking.js b/Libraries/Linking/NativeIntentAndroid.js similarity index 68% rename from Libraries/Linking/NativeLinking.js rename to Libraries/Linking/NativeIntentAndroid.js index 942aa4f01b8..807c999ef9c 100644 --- a/Libraries/Linking/NativeLinking.js +++ b/Libraries/Linking/NativeIntentAndroid.js @@ -12,16 +12,12 @@ import type {TurboModule} from '../TurboModule/RCTExport'; import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry'; -import Platform from '../Utilities/Platform'; export interface Spec extends TurboModule { - // Common interface +getInitialURL: () => Promise; +canOpenURL: (url: string) => Promise; +openURL: (url: string) => Promise; +openSettings: () => Promise; - - // Android only +sendIntent: ( action: string, extras: ?Array<{ @@ -30,12 +26,6 @@ export interface Spec extends TurboModule { ... }>, ) => Promise; - - // Events - +addListener: (eventName: string) => void; - +removeListeners: (count: number) => void; } -export default ((Platform.OS === 'android' - ? TurboModuleRegistry.getEnforcing('IntentAndroid') - : TurboModuleRegistry.getEnforcing('LinkingManager')): Spec); +export default (TurboModuleRegistry.getEnforcing('IntentAndroid'): Spec); diff --git a/Libraries/Linking/NativeLinkingManager.js b/Libraries/Linking/NativeLinkingManager.js new file mode 100644 index 00000000000..7e744b8bf6e --- /dev/null +++ b/Libraries/Linking/NativeLinkingManager.js @@ -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. + * + * @flow strict + * @format + */ + +'use strict'; + +import type {TurboModule} from '../TurboModule/RCTExport'; +import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry'; + +export interface Spec extends TurboModule { + // Common interface + +getInitialURL: () => Promise; + +canOpenURL: (url: string) => Promise; + +openURL: (url: string) => Promise; + +openSettings: () => Promise; + + // Events + +addListener: (eventName: string) => void; + +removeListeners: (count: number) => void; +} + +export default (TurboModuleRegistry.getEnforcing('LinkingManager'): Spec); diff --git a/Libraries/LinkingIOS/RCTLinkingManager.mm b/Libraries/LinkingIOS/RCTLinkingManager.mm index 355679b2824..2d96001cb52 100644 --- a/Libraries/LinkingIOS/RCTLinkingManager.mm +++ b/Libraries/LinkingIOS/RCTLinkingManager.mm @@ -24,7 +24,7 @@ static void postNotificationWithURL(NSURL *URL, id sender) userInfo:payload]; } -@interface RCTLinkingManager() +@interface RCTLinkingManager() @end @implementation RCTLinkingManager @@ -187,7 +187,7 @@ RCT_EXPORT_METHOD(sendIntent:(NSString *)action - (std::shared_ptr)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params { - return std::make_shared(params); + return std::make_shared(params); } @end diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeLinkingSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeIntentAndroidSpec.java similarity index 77% rename from ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeLinkingSpec.java rename to ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeIntentAndroidSpec.java index 030c478a563..9d4ae635e13 100644 --- a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeLinkingSpec.java +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeIntentAndroidSpec.java @@ -20,14 +20,11 @@ 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) { +public abstract class NativeIntentAndroidSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeIntentAndroidSpec(ReactApplicationContext reactContext) { super(reactContext); } - @ReactMethod - public abstract void addListener(String eventName); - @ReactMethod public abstract void canOpenURL(String url, Promise promise); @@ -40,9 +37,6 @@ public abstract class NativeLinkingSpec extends ReactContextBaseJavaModule imple @ReactMethod public abstract void openURL(String url, Promise promise); - @ReactMethod - public abstract void removeListeners(double count); - @ReactMethod public abstract void sendIntent(String action, ReadableArray extras, Promise promise); } diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeLinkingManagerSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeLinkingManagerSpec.java new file mode 100644 index 00000000000..921282b4ab0 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeLinkingManagerSpec.java @@ -0,0 +1,44 @@ +/** + * 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 NativeLinkingManagerSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeLinkingManagerSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void addListener(String eventName); + + @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 openURL(String url, Promise promise); + + @ReactMethod + public abstract void removeListeners(double count); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/jni/FBReactNativeSpec-generated.cpp b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/jni/FBReactNativeSpec-generated.cpp index a10431c6103..9cafe9628e5 100644 --- a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/jni/FBReactNativeSpec-generated.cpp +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/jni/FBReactNativeSpec-generated.cpp @@ -1469,6 +1469,54 @@ namespace facebook { + } + + } // namespace react +} // namespace facebook +namespace facebook { + namespace react { + + + static facebook::jsi::Value __hostFunction_NativeIntentAndroidSpecJSI_getInitialURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeJavaMethod(rt, PromiseKind, "getInitialURL", "(Lcom/facebook/react/bridge/Promise;)V", args, count); + } + + static facebook::jsi::Value __hostFunction_NativeIntentAndroidSpecJSI_canOpenURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeJavaMethod(rt, PromiseKind, "canOpenURL", "(Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count); + } + + static facebook::jsi::Value __hostFunction_NativeIntentAndroidSpecJSI_openURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeJavaMethod(rt, PromiseKind, "openURL", "(Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count); + } + + static facebook::jsi::Value __hostFunction_NativeIntentAndroidSpecJSI_openSettings(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeJavaMethod(rt, PromiseKind, "openSettings", "(Lcom/facebook/react/bridge/Promise;)V", args, count); + } + + static facebook::jsi::Value __hostFunction_NativeIntentAndroidSpecJSI_sendIntent(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeJavaMethod(rt, PromiseKind, "sendIntent", "(Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/Promise;)V", args, count); + } + + + NativeIntentAndroidSpecJSI::NativeIntentAndroidSpecJSI(const JavaTurboModule::InitParams ¶ms) + : JavaTurboModule(params) { + + methodMap_["getInitialURL"] = MethodMetadata {0, __hostFunction_NativeIntentAndroidSpecJSI_getInitialURL}; + + + methodMap_["canOpenURL"] = MethodMetadata {1, __hostFunction_NativeIntentAndroidSpecJSI_canOpenURL}; + + + methodMap_["openURL"] = MethodMetadata {1, __hostFunction_NativeIntentAndroidSpecJSI_openURL}; + + + methodMap_["openSettings"] = MethodMetadata {0, __hostFunction_NativeIntentAndroidSpecJSI_openSettings}; + + + methodMap_["sendIntent"] = MethodMetadata {2, __hostFunction_NativeIntentAndroidSpecJSI_sendIntent}; + + + } } // namespace react @@ -1578,57 +1626,50 @@ namespace facebook { namespace react { - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_getInitialURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_getInitialURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeJavaMethod(rt, PromiseKind, "getInitialURL", "(Lcom/facebook/react/bridge/Promise;)V", args, count); } - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_canOpenURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_canOpenURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeJavaMethod(rt, PromiseKind, "canOpenURL", "(Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count); } - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_openURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_openURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeJavaMethod(rt, PromiseKind, "openURL", "(Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count); } - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_openSettings(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_openSettings(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeJavaMethod(rt, PromiseKind, "openSettings", "(Lcom/facebook/react/bridge/Promise;)V", args, count); } - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_sendIntent(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { - return static_cast(turboModule).invokeJavaMethod(rt, PromiseKind, "sendIntent", "(Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/Promise;)V", args, count); - } - - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeJavaMethod(rt, VoidKind, "addListener", "(Ljava/lang/String;)V", args, count); } - static facebook::jsi::Value __hostFunction_NativeLinkingSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeJavaMethod(rt, VoidKind, "removeListeners", "(D)V", args, count); } - NativeLinkingSpecJSI::NativeLinkingSpecJSI(const JavaTurboModule::InitParams ¶ms) + NativeLinkingManagerSpecJSI::NativeLinkingManagerSpecJSI(const JavaTurboModule::InitParams ¶ms) : JavaTurboModule(params) { - methodMap_["getInitialURL"] = MethodMetadata {0, __hostFunction_NativeLinkingSpecJSI_getInitialURL}; + methodMap_["getInitialURL"] = MethodMetadata {0, __hostFunction_NativeLinkingManagerSpecJSI_getInitialURL}; - methodMap_["canOpenURL"] = MethodMetadata {1, __hostFunction_NativeLinkingSpecJSI_canOpenURL}; + methodMap_["canOpenURL"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_canOpenURL}; - methodMap_["openURL"] = MethodMetadata {1, __hostFunction_NativeLinkingSpecJSI_openURL}; + methodMap_["openURL"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_openURL}; - methodMap_["openSettings"] = MethodMetadata {0, __hostFunction_NativeLinkingSpecJSI_openSettings}; + methodMap_["openSettings"] = MethodMetadata {0, __hostFunction_NativeLinkingManagerSpecJSI_openSettings}; - methodMap_["sendIntent"] = MethodMetadata {2, __hostFunction_NativeLinkingSpecJSI_sendIntent}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_addListener}; - methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeLinkingSpecJSI_addListener}; - - - methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeLinkingSpecJSI_removeListeners}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_removeListeners}; diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/jni/FBReactNativeSpec.h b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/jni/FBReactNativeSpec.h index 50469047dae..b62e71022f8 100644 --- a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/jni/FBReactNativeSpec.h +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/jni/FBReactNativeSpec.h @@ -465,6 +465,20 @@ namespace facebook { } // namespace react } // namespace facebook +namespace facebook { + namespace react { + /** + * C++ class for module 'IntentAndroid' + */ + + class JSI_EXPORT NativeIntentAndroidSpecJSI : public JavaTurboModule { + public: + NativeIntentAndroidSpecJSI(const JavaTurboModule::InitParams ¶ms); + + }; + } // namespace react +} // namespace facebook + namespace facebook { namespace react { /** @@ -524,12 +538,12 @@ namespace facebook { namespace facebook { namespace react { /** - * C++ class for module 'Linking' + * C++ class for module 'LinkingManager' */ - class JSI_EXPORT NativeLinkingSpecJSI : public JavaTurboModule { + class JSI_EXPORT NativeLinkingManagerSpecJSI : public JavaTurboModule { public: - NativeLinkingSpecJSI(const JavaTurboModule::InitParams ¶ms); + NativeLinkingManagerSpecJSI(const JavaTurboModule::InitParams ¶ms); }; } // namespace react diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java index 7c324332e37..41383e528dc 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java @@ -15,7 +15,7 @@ import android.net.Uri; import android.nfc.NfcAdapter; import android.provider.Settings; import androidx.annotation.Nullable; -import com.facebook.fbreact.specs.NativeLinkingSpec; +import com.facebook.fbreact.specs.NativeIntentAndroidSpec; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.ReactApplicationContext; @@ -26,7 +26,7 @@ import com.facebook.react.module.annotations.ReactModule; /** Intent module. Launch other activities or open URLs. */ @ReactModule(name = IntentModule.NAME) -public class IntentModule extends NativeLinkingSpec { +public class IntentModule extends NativeIntentAndroidSpec { public static final String NAME = "IntentAndroid"; @@ -237,14 +237,4 @@ public class IntentModule extends NativeLinkingSpec { getReactApplicationContext().startActivity(intent); } - - @Override - public void addListener(String eventName) { - // iOS only - } - - @Override - public void removeListeners(double count) { - // iOS only - } }