react-native-picture-selector 1.0.30 → 1.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/CMakeLists.txt +14 -0
- package/android/src/main/cpp/cpp-adapter.cpp +29 -7
- package/ios/NitroPictureSelectorOnLoad.mm +2 -2
- package/lib/commonjs/PictureSelector.js +1 -1
- package/lib/commonjs/PictureSelector.js.map +1 -1
- package/lib/module/PictureSelector.js +1 -1
- package/lib/module/PictureSelector.js.map +1 -1
- package/nitrogen.config.json +1 -1
- package/package.json +1 -1
- package/src/PictureSelector.ts +1 -1
package/android/CMakeLists.txt
CHANGED
|
@@ -18,3 +18,17 @@ include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/NitroPictureSelector+a
|
|
|
18
18
|
target_sources(${CMAKE_PROJECT_NAME} PRIVATE
|
|
19
19
|
src/main/cpp/cpp-adapter.cpp
|
|
20
20
|
)
|
|
21
|
+
|
|
22
|
+
# The react-native-nitro-modules prefab is header-only at CMake configure time,
|
|
23
|
+
# so react-native-nitro-modules::NitroModules adds no .so to the link command.
|
|
24
|
+
# Link libNitroModules.so directly using the known build output path.
|
|
25
|
+
string(TOLOWER "${CMAKE_BUILD_TYPE}" _build_type_lower)
|
|
26
|
+
if(_build_type_lower STREQUAL "release")
|
|
27
|
+
set(NITRO_BUILD_VARIANT "release")
|
|
28
|
+
else()
|
|
29
|
+
set(NITRO_BUILD_VARIANT "debug")
|
|
30
|
+
endif()
|
|
31
|
+
|
|
32
|
+
target_link_libraries(${CMAKE_PROJECT_NAME}
|
|
33
|
+
${CMAKE_SOURCE_DIR}/../../react-native-nitro-modules/android/build/intermediates/cmake/${NITRO_BUILD_VARIANT}/obj/${ANDROID_ABI}/libNitroModules.so
|
|
34
|
+
)
|
|
@@ -6,21 +6,43 @@
|
|
|
6
6
|
/// System.loadLibrary("NitroPictureSelector")
|
|
7
7
|
/// the JVM invokes this function with the JavaVM*, which:
|
|
8
8
|
/// 1. Initialises fbjni (facebook::jni::initialize)
|
|
9
|
-
/// 2. Calls registerAllNatives() — which registers JNI methods
|
|
10
|
-
///
|
|
11
|
-
///
|
|
12
|
-
///
|
|
13
|
-
/// nothing ever gets registered, so every call to
|
|
14
|
-
/// NitroModules.createHybridObject("PictureSelector")
|
|
15
|
-
/// throws "It has not yet been registered in the HybridObjectRegistry".
|
|
9
|
+
/// 2. Calls registerAllNatives() — which registers JNI methods.
|
|
10
|
+
/// 3. Registers "HybridPictureSelector" in Nitro's HybridObjectRegistry
|
|
11
|
+
/// so that NitroModules.createHybridObject("HybridPictureSelector")
|
|
12
|
+
/// resolves to the Kotlin HybridPictureSelector class.
|
|
16
13
|
///
|
|
17
14
|
|
|
18
15
|
#include <jni.h>
|
|
19
16
|
#include <fbjni/fbjni.h>
|
|
17
|
+
#include <NitroModules/HybridObjectRegistry.hpp>
|
|
20
18
|
#include "NitroPictureSelectorOnLoad.hpp"
|
|
19
|
+
#include "JHybridHybridPictureSelectorSpec.hpp"
|
|
20
|
+
#include "HybridHybridPictureSelectorSpec.hpp"
|
|
21
21
|
|
|
22
22
|
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
|
|
23
23
|
return facebook::jni::initialize(vm, []() {
|
|
24
|
+
// 1. Register JNI methods for all generated specs.
|
|
24
25
|
margelo::nitro::pictureselector::registerAllNatives();
|
|
26
|
+
|
|
27
|
+
// 2. Register the HybridObject factory in Nitro's HybridObjectRegistry.
|
|
28
|
+
// The autolinking block in the generated NitroPictureSelectorOnLoad.cpp
|
|
29
|
+
// is empty (nitrogen was run before autolinking was configured).
|
|
30
|
+
// Registration is done here manually using the TAG from the generated spec.
|
|
31
|
+
margelo::nitro::HybridObjectRegistry::registerHybridObjectConstructor(
|
|
32
|
+
"HybridPictureSelector",
|
|
33
|
+
[]() -> std::shared_ptr<margelo::nitro::HybridObject> {
|
|
34
|
+
static const auto cls = facebook::jni::findClassStatic(
|
|
35
|
+
"com/margelo/pictureselector/HybridPictureSelector"
|
|
36
|
+
);
|
|
37
|
+
static const auto ctor = cls->getConstructor<facebook::jni::JObject::javaobject()>();
|
|
38
|
+
auto javaObject = cls->newObject(ctor);
|
|
39
|
+
auto javaPart = facebook::jni::static_ref_cast<
|
|
40
|
+
margelo::nitro::pictureselector::JHybridHybridPictureSelectorSpec::JavaPart
|
|
41
|
+
>(javaObject);
|
|
42
|
+
return std::make_shared<
|
|
43
|
+
margelo::nitro::pictureselector::JHybridHybridPictureSelectorSpec
|
|
44
|
+
>(javaPart);
|
|
45
|
+
}
|
|
46
|
+
);
|
|
25
47
|
});
|
|
26
48
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Registers HybridPictureSelector with Nitro's HybridObjectRegistry.
|
|
4
4
|
//
|
|
5
5
|
// The +load ObjC method runs before main(), guaranteeing the factory is
|
|
6
|
-
// available when JS calls NitroModules.createHybridObject("
|
|
6
|
+
// available when JS calls NitroModules.createHybridObject("HybridPictureSelector").
|
|
7
7
|
//
|
|
8
8
|
// We bridge to Swift via @_cdecl("NitroPictureSelectorMakeHybrid") to avoid
|
|
9
9
|
// ambiguous Swift class constructor syntax from C++.
|
|
@@ -30,7 +30,7 @@ using namespace margelo::nitro::pictureselector::bridge::swift;
|
|
|
30
30
|
|
|
31
31
|
+ (void)load {
|
|
32
32
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
33
|
-
"
|
|
33
|
+
"HybridPictureSelector",
|
|
34
34
|
[]() -> std::shared_ptr<HybridObject> {
|
|
35
35
|
void* ptr = NitroPictureSelectorMakeHybrid();
|
|
36
36
|
return create_std__shared_ptr_HybridHybridPictureSelectorSpec_(ptr);
|
|
@@ -13,7 +13,7 @@ var _types = require("./types");
|
|
|
13
13
|
let _native = null;
|
|
14
14
|
function getNative() {
|
|
15
15
|
if (_native == null) {
|
|
16
|
-
_native = _reactNativeNitroModules.NitroModules.createHybridObject('
|
|
16
|
+
_native = _reactNativeNitroModules.NitroModules.createHybridObject('HybridPictureSelector');
|
|
17
17
|
}
|
|
18
18
|
return _native;
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeNitroModules","require","_types","_native","getNative","NitroModules","createHybridObject","defaultOptions","mediaType","MediaType","IMAGE","maxCount","enableCamera","callNative","method","options","err","toPickerError","PictureSelector","exports","openPicker","openCamera"],"sourceRoot":"..\\..\\src","sources":["PictureSelector.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;;AAEA,IAAIE,OAAqC,GAAG,IAAI;AAEhD,SAASC,SAASA,CAAA,EAA0B;EAC1C,IAAID,OAAO,IAAI,IAAI,EAAE;IACnBA,OAAO,GAAGE,qCAAY,CAACC,kBAAkB,CACvC,
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_types","_native","getNative","NitroModules","createHybridObject","defaultOptions","mediaType","MediaType","IMAGE","maxCount","enableCamera","callNative","method","options","err","toPickerError","PictureSelector","exports","openPicker","openCamera"],"sourceRoot":"..\\..\\src","sources":["PictureSelector.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;;AAEA,IAAIE,OAAqC,GAAG,IAAI;AAEhD,SAASC,SAASA,CAAA,EAA0B;EAC1C,IAAID,OAAO,IAAI,IAAI,EAAE;IACnBA,OAAO,GAAGE,qCAAY,CAACC,kBAAkB,CACvC,uBACF,CAAC;EACH;EACA,OAAOH,OAAO;AAChB;;AAEA;AACA;AACA;;AAEA,MAAMI,cAAsC,GAAG;EAC7CC,SAAS,EAAEC,gBAAS,CAACC,KAAK;EAC1BC,QAAQ,EAAE,CAAC;EACXC,YAAY,EAAE;AAChB,CAAC;;AAED;AACA;AACA;;AAEA,eAAeC,UAAUA,CACvBC,MAAmC,EACnCC,OAA+B,EACR;EACvB,IAAI;IACF,OAAO,MAAMX,SAAS,CAAC,CAAC,CAACU,MAAM,CAAC,CAAC;MAAE,GAAGP,cAAc;MAAE,GAAGQ;IAAQ,CAAC,CAAC;EACrE,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,MAAM,IAAAC,oBAAa,EAACD,GAAG,CAAC;EAC1B;AACF;;AAEA;AACA;AACA;;AAEO,MAAME,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEE,UAAUA,CAACL,OAA+B,GAAG,CAAC,CAAC,EAAyB;IACtE,OAAOF,UAAU,CAAC,YAAY,EAAEE,OAAO,CAAC;EAC1C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEM,UAAUA,CAACN,OAA+B,GAAG,CAAC,CAAC,EAAyB;IACtE,OAAOF,UAAU,CAAC,YAAY,EAAEE,OAAO,CAAC;EAC1C;AACF,CAAC","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ import { MediaType, toPickerError } from './types';
|
|
|
10
10
|
let _native = null;
|
|
11
11
|
function getNative() {
|
|
12
12
|
if (_native == null) {
|
|
13
|
-
_native = NitroModules.createHybridObject('
|
|
13
|
+
_native = NitroModules.createHybridObject('HybridPictureSelector');
|
|
14
14
|
}
|
|
15
15
|
return _native;
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","MediaType","toPickerError","_native","getNative","createHybridObject","defaultOptions","mediaType","IMAGE","maxCount","enableCamera","callNative","method","options","err","PictureSelector","openPicker","openCamera"],"sourceRoot":"..\\..\\src","sources":["PictureSelector.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAGzD,SAASC,SAAS,EAAEC,aAAa,QAAQ,SAAS;;AAElD;AACA;AACA;;AAEA,IAAIC,OAAqC,GAAG,IAAI;AAEhD,SAASC,SAASA,CAAA,EAA0B;EAC1C,IAAID,OAAO,IAAI,IAAI,EAAE;IACnBA,OAAO,GAAGH,YAAY,CAACK,kBAAkB,CACvC,
|
|
1
|
+
{"version":3,"names":["NitroModules","MediaType","toPickerError","_native","getNative","createHybridObject","defaultOptions","mediaType","IMAGE","maxCount","enableCamera","callNative","method","options","err","PictureSelector","openPicker","openCamera"],"sourceRoot":"..\\..\\src","sources":["PictureSelector.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAGzD,SAASC,SAAS,EAAEC,aAAa,QAAQ,SAAS;;AAElD;AACA;AACA;;AAEA,IAAIC,OAAqC,GAAG,IAAI;AAEhD,SAASC,SAASA,CAAA,EAA0B;EAC1C,IAAID,OAAO,IAAI,IAAI,EAAE;IACnBA,OAAO,GAAGH,YAAY,CAACK,kBAAkB,CACvC,uBACF,CAAC;EACH;EACA,OAAOF,OAAO;AAChB;;AAEA;AACA;AACA;;AAEA,MAAMG,cAAsC,GAAG;EAC7CC,SAAS,EAAEN,SAAS,CAACO,KAAK;EAC1BC,QAAQ,EAAE,CAAC;EACXC,YAAY,EAAE;AAChB,CAAC;;AAED;AACA;AACA;;AAEA,eAAeC,UAAUA,CACvBC,MAAmC,EACnCC,OAA+B,EACR;EACvB,IAAI;IACF,OAAO,MAAMT,SAAS,CAAC,CAAC,CAACQ,MAAM,CAAC,CAAC;MAAE,GAAGN,cAAc;MAAE,GAAGO;IAAQ,CAAC,CAAC;EACrE,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,MAAMZ,aAAa,CAACY,GAAG,CAAC;EAC1B;AACF;;AAEA;AACA;AACA;;AAEA,OAAO,MAAMC,eAAe,GAAG;EAC7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,UAAUA,CAACH,OAA+B,GAAG,CAAC,CAAC,EAAyB;IACtE,OAAOF,UAAU,CAAC,YAAY,EAAEE,OAAO,CAAC;EAC1C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEI,UAAUA,CAACJ,OAA+B,GAAG,CAAC,CAAC,EAAyB;IACtE,OAAOF,UAAU,CAAC,YAAY,EAAEE,OAAO,CAAC;EAC1C;AACF,CAAC","ignoreList":[]}
|
package/nitrogen.config.json
CHANGED
package/package.json
CHANGED
package/src/PictureSelector.ts
CHANGED
|
@@ -12,7 +12,7 @@ let _native: HybridPictureSelector | null = null
|
|
|
12
12
|
function getNative(): HybridPictureSelector {
|
|
13
13
|
if (_native == null) {
|
|
14
14
|
_native = NitroModules.createHybridObject<HybridPictureSelector>(
|
|
15
|
-
'
|
|
15
|
+
'HybridPictureSelector'
|
|
16
16
|
)
|
|
17
17
|
}
|
|
18
18
|
return _native
|