From ef145adb9db646b4133eff7da03691a958854bd0 Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Tue, 29 Sep 2020 14:33:06 -0700 Subject: [PATCH] Split NativeImageStore into iOS and Android counterparts Summary: Split the two specs, so that that we don't have to use Flow unions in the merged spec. Changelog: [Internal] Reviewed By: fkgozali Differential Revision: D23800841 fbshipit-source-id: 28b67578832ebd733bd080877e4ab763c013fded --- .../FBReactNativeSpec-generated.mm | 50 ++++++++++++---- .../FBReactNativeSpec/FBReactNativeSpec.h | 57 ++++++++++++++++--- Libraries/Image/NativeImageStoreAndroid.js | 27 +++++++++ ...veImageStore.js => NativeImageStoreIOS.js} | 12 +--- Libraries/Image/RCTImageStoreManager.mm | 4 +- .../specs/NativeImageStoreAndroidSpec.java | 30 ++++++++++ .../specs/NativeImageStoreIOSSpec.java | 40 +++++++++++++ .../specs/jni/FBReactNativeSpec-generated.cpp | 38 ++++++++++--- .../fbreact/specs/jni/FBReactNativeSpec.h | 20 ++++++- .../modules/camera/ImageStoreManager.java | 20 +------ 10 files changed, 235 insertions(+), 63 deletions(-) create mode 100644 Libraries/Image/NativeImageStoreAndroid.js rename Libraries/Image/{NativeImageStore.js => NativeImageStoreIOS.js} (75%) create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImageStoreAndroidSpec.java create mode 100644 ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImageStoreIOSSpec.java diff --git a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm index 1f7227f478f..5ca05feb84c 100644 --- a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +++ b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm @@ -1610,46 +1610,72 @@ namespace facebook { } // namespace react } // namespace facebook -@implementation RCTCxxConvert (NativeImageStore_SpecAddImageFromBase64ErrorCallbackError) -+ (RCTManagedPointer *)JS_NativeImageStore_SpecAddImageFromBase64ErrorCallbackError:(id)json +namespace facebook { + namespace react { + + + static facebook::jsi::Value __hostFunction_NativeImageStoreAndroidSpecJSI_getBase64ForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getBase64ForTag", @selector(getBase64ForTag:successCallback:errorCallback:), args, count); + } + + + NativeImageStoreAndroidSpecJSI::NativeImageStoreAndroidSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getBase64ForTag"] = MethodMetadata {3, __hostFunction_NativeImageStoreAndroidSpecJSI_getBase64ForTag}; + + + + } + + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeImageStoreIOS_SpecGetBase64ForTagErrorCallbackError) ++ (RCTManagedPointer *)JS_NativeImageStoreIOS_SpecGetBase64ForTagErrorCallbackError:(id)json { - return facebook::react::managedPointer(json); + return facebook::react::managedPointer(json); +} +@end +@implementation RCTCxxConvert (NativeImageStoreIOS_SpecAddImageFromBase64ErrorCallbackError) ++ (RCTManagedPointer *)JS_NativeImageStoreIOS_SpecAddImageFromBase64ErrorCallbackError:(id)json +{ + return facebook::react::managedPointer(json); } @end namespace facebook { namespace react { - static facebook::jsi::Value __hostFunction_NativeImageStoreSpecJSI_getBase64ForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_getBase64ForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getBase64ForTag", @selector(getBase64ForTag:successCallback:errorCallback:), args, count); } - static facebook::jsi::Value __hostFunction_NativeImageStoreSpecJSI_hasImageForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_hasImageForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "hasImageForTag", @selector(hasImageForTag:callback:), args, count); } - static facebook::jsi::Value __hostFunction_NativeImageStoreSpecJSI_removeImageForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_removeImageForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeImageForTag", @selector(removeImageForTag:), args, count); } - static facebook::jsi::Value __hostFunction_NativeImageStoreSpecJSI_addImageFromBase64(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_addImageFromBase64(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addImageFromBase64", @selector(addImageFromBase64:successCallback:errorCallback:), args, count); } - NativeImageStoreSpecJSI::NativeImageStoreSpecJSI(const ObjCTurboModule::InitParams ¶ms) + NativeImageStoreIOSSpecJSI::NativeImageStoreIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms) : ObjCTurboModule(params) { - methodMap_["getBase64ForTag"] = MethodMetadata {3, __hostFunction_NativeImageStoreSpecJSI_getBase64ForTag}; + methodMap_["getBase64ForTag"] = MethodMetadata {3, __hostFunction_NativeImageStoreIOSSpecJSI_getBase64ForTag}; - methodMap_["hasImageForTag"] = MethodMetadata {2, __hostFunction_NativeImageStoreSpecJSI_hasImageForTag}; + methodMap_["hasImageForTag"] = MethodMetadata {2, __hostFunction_NativeImageStoreIOSSpecJSI_hasImageForTag}; - methodMap_["removeImageForTag"] = MethodMetadata {1, __hostFunction_NativeImageStoreSpecJSI_removeImageForTag}; + methodMap_["removeImageForTag"] = MethodMetadata {1, __hostFunction_NativeImageStoreIOSSpecJSI_removeImageForTag}; - methodMap_["addImageFromBase64"] = MethodMetadata {3, __hostFunction_NativeImageStoreSpecJSI_addImageFromBase64}; + methodMap_["addImageFromBase64"] = MethodMetadata {3, __hostFunction_NativeImageStoreIOSSpecJSI_addImageFromBase64}; diff --git a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h index 93f4a411773..78011e9ea4d 100644 --- a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +++ b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h @@ -1524,9 +1524,45 @@ namespace facebook { }; } // namespace react } // namespace facebook +@protocol NativeImageStoreAndroidSpec + +- (void)getBase64ForTag:(NSString *)uri + successCallback:(RCTResponseSenderBlock)successCallback + errorCallback:(RCTResponseSenderBlock)errorCallback; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'ImageStoreAndroid' + */ + + class JSI_EXPORT NativeImageStoreAndroidSpecJSI : public ObjCTurboModule { + public: + NativeImageStoreAndroidSpecJSI(const ObjCTurboModule::InitParams ¶ms); + + }; + } // namespace react +} // namespace facebook namespace JS { - namespace NativeImageStore { + namespace NativeImageStoreIOS { + struct SpecGetBase64ForTagErrorCallbackError { + NSString *message() const; + + SpecGetBase64ForTagErrorCallbackError(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeImageStoreIOS_SpecGetBase64ForTagErrorCallbackError) ++ (RCTManagedPointer *)JS_NativeImageStoreIOS_SpecGetBase64ForTagErrorCallbackError:(id)json; +@end + +namespace JS { + namespace NativeImageStoreIOS { struct SpecAddImageFromBase64ErrorCallbackError { NSString *message() const; @@ -1537,10 +1573,10 @@ namespace JS { } } -@interface RCTCxxConvert (NativeImageStore_SpecAddImageFromBase64ErrorCallbackError) -+ (RCTManagedPointer *)JS_NativeImageStore_SpecAddImageFromBase64ErrorCallbackError:(id)json; +@interface RCTCxxConvert (NativeImageStoreIOS_SpecAddImageFromBase64ErrorCallbackError) ++ (RCTManagedPointer *)JS_NativeImageStoreIOS_SpecAddImageFromBase64ErrorCallbackError:(id)json; @end -@protocol NativeImageStoreSpec +@protocol NativeImageStoreIOSSpec - (void)getBase64ForTag:(NSString *)uri successCallback:(RCTResponseSenderBlock)successCallback @@ -1556,12 +1592,12 @@ namespace JS { namespace facebook { namespace react { /** - * ObjC++ class for module 'ImageStore' + * ObjC++ class for module 'ImageStoreIOS' */ - class JSI_EXPORT NativeImageStoreSpecJSI : public ObjCTurboModule { + class JSI_EXPORT NativeImageStoreIOSSpecJSI : public ObjCTurboModule { public: - NativeImageStoreSpecJSI(const ObjCTurboModule::InitParams ¶ms); + NativeImageStoreIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms); }; } // namespace react @@ -3292,7 +3328,12 @@ inline bool JS::NativeImagePickerIOS::SpecOpenSelectDialogConfig::showVideos() c id const p = _v[@"showVideos"]; return RCTBridgingToBool(p); } -inline NSString *JS::NativeImageStore::SpecAddImageFromBase64ErrorCallbackError::message() const +inline NSString *JS::NativeImageStoreIOS::SpecGetBase64ForTagErrorCallbackError::message() const +{ + id const p = _v[@"message"]; + return RCTBridgingToString(p); +} +inline NSString *JS::NativeImageStoreIOS::SpecAddImageFromBase64ErrorCallbackError::message() const { id const p = _v[@"message"]; return RCTBridgingToString(p); diff --git a/Libraries/Image/NativeImageStoreAndroid.js b/Libraries/Image/NativeImageStoreAndroid.js new file mode 100644 index 00000000000..8ab6dc7c1a2 --- /dev/null +++ b/Libraries/Image/NativeImageStoreAndroid.js @@ -0,0 +1,27 @@ +/** + * 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 { + +getConstants: () => {||}; + +getBase64ForTag: ( + uri: string, + successCallback: (base64ImageData: string) => void, + errorCallback: (error: string) => void, + ) => void; +} + +export default (TurboModuleRegistry.getEnforcing( + 'ImageStoreManager', +): Spec); diff --git a/Libraries/Image/NativeImageStore.js b/Libraries/Image/NativeImageStoreIOS.js similarity index 75% rename from Libraries/Image/NativeImageStore.js rename to Libraries/Image/NativeImageStoreIOS.js index 38603b6aaab..d94f1ef4f35 100644 --- a/Libraries/Image/NativeImageStore.js +++ b/Libraries/Image/NativeImageStoreIOS.js @@ -15,21 +15,11 @@ import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry'; export interface Spec extends TurboModule { +getConstants: () => {||}; - // Common +getBase64ForTag: ( uri: string, successCallback: (base64ImageData: string) => void, - - /** - * On Android, the failure callback is called with a string. - * On iOS, the failure callback is called with an error object. - * - * TODO(T47527939) Unify this inconsistency - */ - errorCallback: (error: {|message: string|} | string) => void, + errorCallback: (error: {|message: string|}) => void, ) => void; - - // iOS-only +hasImageForTag: (uri: string, callback: (hasImage: boolean) => void) => void; +removeImageForTag: (uri: string) => void; +addImageFromBase64: ( diff --git a/Libraries/Image/RCTImageStoreManager.mm b/Libraries/Image/RCTImageStoreManager.mm index 907ecbbb6b0..7eb3b1e91cc 100644 --- a/Libraries/Image/RCTImageStoreManager.mm +++ b/Libraries/Image/RCTImageStoreManager.mm @@ -22,7 +22,7 @@ static NSString *const RCTImageStoreURLScheme = @"rct-image-store"; -@interface RCTImageStoreManager() +@interface RCTImageStoreManager() @end @implementation RCTImageStoreManager @@ -236,7 +236,7 @@ RCT_EXPORT_METHOD(addImageFromBase64:(NSString *)base64String - (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/NativeImageStoreAndroidSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImageStoreAndroidSpec.java new file mode 100644 index 00000000000..f3c53ac8544 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImageStoreAndroidSpec.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.turbomodule.core.interfaces.TurboModule; + +public abstract class NativeImageStoreAndroidSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeImageStoreAndroidSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void getBase64ForTag(String uri, Callback successCallback, + Callback errorCallback); +} diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImageStoreIOSSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImageStoreIOSSpec.java new file mode 100644 index 00000000000..10455469cce --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeImageStoreIOSSpec.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.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 NativeImageStoreIOSSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { + public NativeImageStoreIOSSpec(ReactApplicationContext reactContext) { + super(reactContext); + } + + @ReactMethod + public abstract void addImageFromBase64(String base64ImageData, Callback successCallback, + Callback errorCallback); + + @ReactMethod + public abstract void getBase64ForTag(String uri, Callback successCallback, + Callback errorCallback); + + @ReactMethod + public abstract void hasImageForTag(String uri, Callback callback); + + @ReactMethod + public abstract void removeImageForTag(String uri); +} 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 85c52d7e795..e8fdde414ba 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 @@ -1416,36 +1416,56 @@ namespace facebook { namespace react { - static facebook::jsi::Value __hostFunction_NativeImageStoreSpecJSI_getBase64ForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeImageStoreAndroidSpecJSI_getBase64ForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeJavaMethod(rt, VoidKind, "getBase64ForTag", "(Ljava/lang/String;Lcom/facebook/react/bridge/Callback;Lcom/facebook/react/bridge/Callback;)V", args, count); } - static facebook::jsi::Value __hostFunction_NativeImageStoreSpecJSI_hasImageForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + + NativeImageStoreAndroidSpecJSI::NativeImageStoreAndroidSpecJSI(const JavaTurboModule::InitParams ¶ms) + : JavaTurboModule(params) { + + methodMap_["getBase64ForTag"] = MethodMetadata {3, __hostFunction_NativeImageStoreAndroidSpecJSI_getBase64ForTag}; + + + + } + + } // namespace react +} // namespace facebook +namespace facebook { + namespace react { + + + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_getBase64ForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeJavaMethod(rt, VoidKind, "getBase64ForTag", "(Ljava/lang/String;Lcom/facebook/react/bridge/Callback;Lcom/facebook/react/bridge/Callback;)V", args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_hasImageForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeJavaMethod(rt, VoidKind, "hasImageForTag", "(Ljava/lang/String;Lcom/facebook/react/bridge/Callback;)V", args, count); } - static facebook::jsi::Value __hostFunction_NativeImageStoreSpecJSI_removeImageForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_removeImageForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeJavaMethod(rt, VoidKind, "removeImageForTag", "(Ljava/lang/String;)V", args, count); } - static facebook::jsi::Value __hostFunction_NativeImageStoreSpecJSI_addImageFromBase64(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_addImageFromBase64(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeJavaMethod(rt, VoidKind, "addImageFromBase64", "(Ljava/lang/String;Lcom/facebook/react/bridge/Callback;Lcom/facebook/react/bridge/Callback;)V", args, count); } - NativeImageStoreSpecJSI::NativeImageStoreSpecJSI(const JavaTurboModule::InitParams ¶ms) + NativeImageStoreIOSSpecJSI::NativeImageStoreIOSSpecJSI(const JavaTurboModule::InitParams ¶ms) : JavaTurboModule(params) { - methodMap_["getBase64ForTag"] = MethodMetadata {3, __hostFunction_NativeImageStoreSpecJSI_getBase64ForTag}; + methodMap_["getBase64ForTag"] = MethodMetadata {3, __hostFunction_NativeImageStoreIOSSpecJSI_getBase64ForTag}; - methodMap_["hasImageForTag"] = MethodMetadata {2, __hostFunction_NativeImageStoreSpecJSI_hasImageForTag}; + methodMap_["hasImageForTag"] = MethodMetadata {2, __hostFunction_NativeImageStoreIOSSpecJSI_hasImageForTag}; - methodMap_["removeImageForTag"] = MethodMetadata {1, __hostFunction_NativeImageStoreSpecJSI_removeImageForTag}; + methodMap_["removeImageForTag"] = MethodMetadata {1, __hostFunction_NativeImageStoreIOSSpecJSI_removeImageForTag}; - methodMap_["addImageFromBase64"] = MethodMetadata {3, __hostFunction_NativeImageStoreSpecJSI_addImageFromBase64}; + methodMap_["addImageFromBase64"] = MethodMetadata {3, __hostFunction_NativeImageStoreIOSSpecJSI_addImageFromBase64}; 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 940c22e2f62..49f97cc402c 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 @@ -440,12 +440,26 @@ namespace facebook { namespace facebook { namespace react { /** - * C++ class for module 'ImageStore' + * C++ class for module 'ImageStoreAndroid' */ - class JSI_EXPORT NativeImageStoreSpecJSI : public JavaTurboModule { + class JSI_EXPORT NativeImageStoreAndroidSpecJSI : public JavaTurboModule { public: - NativeImageStoreSpecJSI(const JavaTurboModule::InitParams ¶ms); + NativeImageStoreAndroidSpecJSI(const JavaTurboModule::InitParams ¶ms); + + }; + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + /** + * C++ class for module 'ImageStoreIOS' + */ + + class JSI_EXPORT NativeImageStoreIOSSpecJSI : public JavaTurboModule { + public: + NativeImageStoreIOSSpecJSI(const JavaTurboModule::InitParams ¶ms); }; } // namespace react diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java b/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java index 8bf377cfb4c..0752be6e554 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java @@ -12,7 +12,7 @@ import android.net.Uri; import android.os.AsyncTask; import android.util.Base64; import android.util.Base64OutputStream; -import com.facebook.fbreact.specs.NativeImageStoreSpec; +import com.facebook.fbreact.specs.NativeImageStoreAndroidSpec; import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.GuardedAsyncTask; import com.facebook.react.bridge.ReactApplicationContext; @@ -25,7 +25,7 @@ import java.io.IOException; import java.io.InputStream; @ReactModule(name = ImageStoreManager.NAME) -public class ImageStoreManager extends NativeImageStoreSpec { +public class ImageStoreManager extends NativeImageStoreAndroidSpec { public static final String NAME = "ImageStoreManager"; private static final int BUFFER_SIZE = 8192; @@ -105,20 +105,4 @@ public class ImageStoreManager extends NativeImageStoreSpec { // shhh } } - - @Override - public void hasImageForTag(String uri, Callback callback) { - // iOS only - } - - @Override - public void removeImageForTag(String uri) { - // iOS only - } - - @Override - public void addImageFromBase64( - String base64ImageData, Callback successCallback, Callback errorCallback) { - // iOS only - } }