@onekeyfe/react-native-bundle-update 1.1.21
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/LICENSE +21 -0
- package/README.md +36 -0
- package/ReactNativeBundleUpdate.podspec +34 -0
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +139 -0
- package/android/gradle.properties +4 -0
- package/android/src/main/AndroidManifest.xml +1 -0
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/margelo/nitro/reactnativebundleupdate/ReactNativeBundleUpdate.kt +1409 -0
- package/android/src/main/java/com/margelo/nitro/reactnativebundleupdate/ReactNativeBundleUpdatePackage.kt +24 -0
- package/ios/Frameworks/Gopenpgp.xcframework/Info.plist +52 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Gopenpgp +0 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Headers/Armor.objc.h +96 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Headers/Constants.objc.h +197 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Headers/Crypto.objc.h +1963 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Headers/Gopenpgp.h +23 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Headers/Mime.objc.h +59 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Headers/Mobile.objc.h +252 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Headers/Profile.objc.h +107 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Headers/Universe.objc.h +29 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Headers/ref.h +35 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Info.plist +20 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64/Gopenpgp.framework/Modules/module.modulemap +13 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Gopenpgp +0 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Headers/Armor.objc.h +96 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Headers/Constants.objc.h +197 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Headers/Crypto.objc.h +1963 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Headers/Gopenpgp.h +23 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Headers/Mime.objc.h +59 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Headers/Mobile.objc.h +252 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Headers/Profile.objc.h +107 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Headers/Universe.objc.h +29 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Headers/ref.h +35 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Info.plist +20 -0
- package/ios/Frameworks/Gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/Modules/module.modulemap +13 -0
- package/ios/ReactNativeBundleUpdate.swift +1338 -0
- package/lib/module/ReactNativeBundleUpdate.nitro.js +4 -0
- package/lib/module/ReactNativeBundleUpdate.nitro.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/ReactNativeBundleUpdate.nitro.d.ts +101 -0
- package/lib/typescript/src/ReactNativeBundleUpdate.nitro.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +4 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/nitro.json +17 -0
- package/nitrogen/generated/android/c++/JAscFileInfo.hpp +65 -0
- package/nitrogen/generated/android/c++/JBundleDownloadASCParams.hpp +77 -0
- package/nitrogen/generated/android/c++/JBundleDownloadEvent.hpp +65 -0
- package/nitrogen/generated/android/c++/JBundleDownloadParams.hpp +73 -0
- package/nitrogen/generated/android/c++/JBundleDownloadResult.hpp +73 -0
- package/nitrogen/generated/android/c++/JBundleInstallParams.hpp +69 -0
- package/nitrogen/generated/android/c++/JBundleSwitchParams.hpp +65 -0
- package/nitrogen/generated/android/c++/JBundleVerifyASCParams.hpp +73 -0
- package/nitrogen/generated/android/c++/JBundleVerifyParams.hpp +69 -0
- package/nitrogen/generated/android/c++/JFallbackBundleInfo.hpp +65 -0
- package/nitrogen/generated/android/c++/JFunc_void_BundleDownloadEvent.hpp +78 -0
- package/nitrogen/generated/android/c++/JHybridReactNativeBundleUpdateSpec.cpp +486 -0
- package/nitrogen/generated/android/c++/JHybridReactNativeBundleUpdateSpec.hpp +89 -0
- package/nitrogen/generated/android/c++/JLocalBundleInfo.hpp +61 -0
- package/nitrogen/generated/android/c++/JTestResult.hpp +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/AscFileInfo.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/BundleDownloadASCParams.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/BundleDownloadEvent.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/BundleDownloadParams.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/BundleDownloadResult.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/BundleInstallParams.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/BundleSwitchParams.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/BundleVerifyASCParams.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/BundleVerifyParams.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/FallbackBundleInfo.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/Func_void_BundleDownloadEvent.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/HybridReactNativeBundleUpdateSpec.kt +159 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/LocalBundleInfo.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/TestResult.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativebundleupdate/reactnativebundleupdateOnLoad.kt +35 -0
- package/nitrogen/generated/android/reactnativebundleupdate+autolinking.cmake +81 -0
- package/nitrogen/generated/android/reactnativebundleupdate+autolinking.gradle +27 -0
- package/nitrogen/generated/android/reactnativebundleupdateOnLoad.cpp +46 -0
- package/nitrogen/generated/android/reactnativebundleupdateOnLoad.hpp +25 -0
- package/nitrogen/generated/ios/ReactNativeBundleUpdate+autolinking.rb +60 -0
- package/nitrogen/generated/ios/ReactNativeBundleUpdate-Swift-Cxx-Bridge.cpp +113 -0
- package/nitrogen/generated/ios/ReactNativeBundleUpdate-Swift-Cxx-Bridge.hpp +513 -0
- package/nitrogen/generated/ios/ReactNativeBundleUpdate-Swift-Cxx-Umbrella.hpp +83 -0
- package/nitrogen/generated/ios/ReactNativeBundleUpdateAutolinking.mm +33 -0
- package/nitrogen/generated/ios/ReactNativeBundleUpdateAutolinking.swift +25 -0
- package/nitrogen/generated/ios/c++/HybridReactNativeBundleUpdateSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridReactNativeBundleUpdateSpecSwift.hpp +304 -0
- package/nitrogen/generated/ios/swift/AscFileInfo.swift +58 -0
- package/nitrogen/generated/ios/swift/BundleDownloadASCParams.swift +91 -0
- package/nitrogen/generated/ios/swift/BundleDownloadEvent.swift +58 -0
- package/nitrogen/generated/ios/swift/BundleDownloadParams.swift +80 -0
- package/nitrogen/generated/ios/swift/BundleDownloadResult.swift +80 -0
- package/nitrogen/generated/ios/swift/BundleInstallParams.swift +69 -0
- package/nitrogen/generated/ios/swift/BundleSwitchParams.swift +58 -0
- package/nitrogen/generated/ios/swift/BundleVerifyASCParams.swift +80 -0
- package/nitrogen/generated/ios/swift/BundleVerifyParams.swift +69 -0
- package/nitrogen/generated/ios/swift/FallbackBundleInfo.swift +58 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_BundleDownloadEvent.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_BundleDownloadResult.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_TestResult.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_AscFileInfo_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_FallbackBundleInfo_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_LocalBundleInfo_.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridReactNativeBundleUpdateSpec.swift +80 -0
- package/nitrogen/generated/ios/swift/HybridReactNativeBundleUpdateSpec_cxx.swift +595 -0
- package/nitrogen/generated/ios/swift/LocalBundleInfo.swift +47 -0
- package/nitrogen/generated/ios/swift/TestResult.swift +47 -0
- package/nitrogen/generated/shared/c++/AscFileInfo.hpp +83 -0
- package/nitrogen/generated/shared/c++/BundleDownloadASCParams.hpp +95 -0
- package/nitrogen/generated/shared/c++/BundleDownloadEvent.hpp +83 -0
- package/nitrogen/generated/shared/c++/BundleDownloadParams.hpp +91 -0
- package/nitrogen/generated/shared/c++/BundleDownloadResult.hpp +91 -0
- package/nitrogen/generated/shared/c++/BundleInstallParams.hpp +87 -0
- package/nitrogen/generated/shared/c++/BundleSwitchParams.hpp +83 -0
- package/nitrogen/generated/shared/c++/BundleVerifyASCParams.hpp +91 -0
- package/nitrogen/generated/shared/c++/BundleVerifyParams.hpp +87 -0
- package/nitrogen/generated/shared/c++/FallbackBundleInfo.hpp +83 -0
- package/nitrogen/generated/shared/c++/HybridReactNativeBundleUpdateSpec.cpp +45 -0
- package/nitrogen/generated/shared/c++/HybridReactNativeBundleUpdateSpec.hpp +124 -0
- package/nitrogen/generated/shared/c++/LocalBundleInfo.hpp +79 -0
- package/nitrogen/generated/shared/c++/TestResult.hpp +79 -0
- package/package.json +169 -0
- package/src/ReactNativeBundleUpdate.nitro.ts +143 -0
- package/src/index.tsx +8 -0
|
@@ -0,0 +1,486 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridReactNativeBundleUpdateSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "JHybridReactNativeBundleUpdateSpec.hpp"
|
|
9
|
+
|
|
10
|
+
// Forward declaration of `BundleDownloadResult` to properly resolve imports.
|
|
11
|
+
namespace margelo::nitro::reactnativebundleupdate { struct BundleDownloadResult; }
|
|
12
|
+
// Forward declaration of `TestResult` to properly resolve imports.
|
|
13
|
+
namespace margelo::nitro::reactnativebundleupdate { struct TestResult; }
|
|
14
|
+
// Forward declaration of `FallbackBundleInfo` to properly resolve imports.
|
|
15
|
+
namespace margelo::nitro::reactnativebundleupdate { struct FallbackBundleInfo; }
|
|
16
|
+
// Forward declaration of `LocalBundleInfo` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::reactnativebundleupdate { struct LocalBundleInfo; }
|
|
18
|
+
// Forward declaration of `AscFileInfo` to properly resolve imports.
|
|
19
|
+
namespace margelo::nitro::reactnativebundleupdate { struct AscFileInfo; }
|
|
20
|
+
// Forward declaration of `BundleDownloadParams` to properly resolve imports.
|
|
21
|
+
namespace margelo::nitro::reactnativebundleupdate { struct BundleDownloadParams; }
|
|
22
|
+
// Forward declaration of `BundleVerifyParams` to properly resolve imports.
|
|
23
|
+
namespace margelo::nitro::reactnativebundleupdate { struct BundleVerifyParams; }
|
|
24
|
+
// Forward declaration of `BundleVerifyASCParams` to properly resolve imports.
|
|
25
|
+
namespace margelo::nitro::reactnativebundleupdate { struct BundleVerifyASCParams; }
|
|
26
|
+
// Forward declaration of `BundleDownloadASCParams` to properly resolve imports.
|
|
27
|
+
namespace margelo::nitro::reactnativebundleupdate { struct BundleDownloadASCParams; }
|
|
28
|
+
// Forward declaration of `BundleInstallParams` to properly resolve imports.
|
|
29
|
+
namespace margelo::nitro::reactnativebundleupdate { struct BundleInstallParams; }
|
|
30
|
+
// Forward declaration of `BundleSwitchParams` to properly resolve imports.
|
|
31
|
+
namespace margelo::nitro::reactnativebundleupdate { struct BundleSwitchParams; }
|
|
32
|
+
// Forward declaration of `BundleDownloadEvent` to properly resolve imports.
|
|
33
|
+
namespace margelo::nitro::reactnativebundleupdate { struct BundleDownloadEvent; }
|
|
34
|
+
|
|
35
|
+
#include "BundleDownloadResult.hpp"
|
|
36
|
+
#include <NitroModules/Promise.hpp>
|
|
37
|
+
#include <NitroModules/JPromise.hpp>
|
|
38
|
+
#include "JBundleDownloadResult.hpp"
|
|
39
|
+
#include <string>
|
|
40
|
+
#include "TestResult.hpp"
|
|
41
|
+
#include "JTestResult.hpp"
|
|
42
|
+
#include "FallbackBundleInfo.hpp"
|
|
43
|
+
#include <vector>
|
|
44
|
+
#include "JFallbackBundleInfo.hpp"
|
|
45
|
+
#include "LocalBundleInfo.hpp"
|
|
46
|
+
#include "JLocalBundleInfo.hpp"
|
|
47
|
+
#include "AscFileInfo.hpp"
|
|
48
|
+
#include "JAscFileInfo.hpp"
|
|
49
|
+
#include "BundleDownloadParams.hpp"
|
|
50
|
+
#include "JBundleDownloadParams.hpp"
|
|
51
|
+
#include "BundleVerifyParams.hpp"
|
|
52
|
+
#include "JBundleVerifyParams.hpp"
|
|
53
|
+
#include "BundleVerifyASCParams.hpp"
|
|
54
|
+
#include "JBundleVerifyASCParams.hpp"
|
|
55
|
+
#include "BundleDownloadASCParams.hpp"
|
|
56
|
+
#include "JBundleDownloadASCParams.hpp"
|
|
57
|
+
#include "BundleInstallParams.hpp"
|
|
58
|
+
#include "JBundleInstallParams.hpp"
|
|
59
|
+
#include "BundleSwitchParams.hpp"
|
|
60
|
+
#include "JBundleSwitchParams.hpp"
|
|
61
|
+
#include "BundleDownloadEvent.hpp"
|
|
62
|
+
#include <functional>
|
|
63
|
+
#include "JFunc_void_BundleDownloadEvent.hpp"
|
|
64
|
+
#include <NitroModules/JNICallable.hpp>
|
|
65
|
+
#include "JBundleDownloadEvent.hpp"
|
|
66
|
+
|
|
67
|
+
namespace margelo::nitro::reactnativebundleupdate {
|
|
68
|
+
|
|
69
|
+
jni::local_ref<JHybridReactNativeBundleUpdateSpec::jhybriddata> JHybridReactNativeBundleUpdateSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
70
|
+
return makeCxxInstance(jThis);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
void JHybridReactNativeBundleUpdateSpec::registerNatives() {
|
|
74
|
+
registerHybrid({
|
|
75
|
+
makeNativeMethod("initHybrid", JHybridReactNativeBundleUpdateSpec::initHybrid),
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
size_t JHybridReactNativeBundleUpdateSpec::getExternalMemorySize() noexcept {
|
|
80
|
+
static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
|
|
81
|
+
return method(_javaPart);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
void JHybridReactNativeBundleUpdateSpec::dispose() noexcept {
|
|
85
|
+
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
86
|
+
method(_javaPart);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
std::string JHybridReactNativeBundleUpdateSpec::toString() {
|
|
90
|
+
static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
|
|
91
|
+
auto javaString = method(_javaPart);
|
|
92
|
+
return javaString->toStdString();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Properties
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
// Methods
|
|
99
|
+
std::shared_ptr<Promise<BundleDownloadResult>> JHybridReactNativeBundleUpdateSpec::downloadBundle(const BundleDownloadParams& params) {
|
|
100
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBundleDownloadParams> /* params */)>("downloadBundle");
|
|
101
|
+
auto __result = method(_javaPart, JBundleDownloadParams::fromCpp(params));
|
|
102
|
+
return [&]() {
|
|
103
|
+
auto __promise = Promise<BundleDownloadResult>::create();
|
|
104
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
105
|
+
auto __result = jni::static_ref_cast<JBundleDownloadResult>(__boxedResult);
|
|
106
|
+
__promise->resolve(__result->toCpp());
|
|
107
|
+
});
|
|
108
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
109
|
+
jni::JniException __jniError(__throwable);
|
|
110
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
111
|
+
});
|
|
112
|
+
return __promise;
|
|
113
|
+
}();
|
|
114
|
+
}
|
|
115
|
+
std::shared_ptr<Promise<void>> JHybridReactNativeBundleUpdateSpec::verifyBundle(const BundleVerifyParams& params) {
|
|
116
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBundleVerifyParams> /* params */)>("verifyBundle");
|
|
117
|
+
auto __result = method(_javaPart, JBundleVerifyParams::fromCpp(params));
|
|
118
|
+
return [&]() {
|
|
119
|
+
auto __promise = Promise<void>::create();
|
|
120
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
121
|
+
__promise->resolve();
|
|
122
|
+
});
|
|
123
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
124
|
+
jni::JniException __jniError(__throwable);
|
|
125
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
126
|
+
});
|
|
127
|
+
return __promise;
|
|
128
|
+
}();
|
|
129
|
+
}
|
|
130
|
+
std::shared_ptr<Promise<void>> JHybridReactNativeBundleUpdateSpec::verifyBundleASC(const BundleVerifyASCParams& params) {
|
|
131
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBundleVerifyASCParams> /* params */)>("verifyBundleASC");
|
|
132
|
+
auto __result = method(_javaPart, JBundleVerifyASCParams::fromCpp(params));
|
|
133
|
+
return [&]() {
|
|
134
|
+
auto __promise = Promise<void>::create();
|
|
135
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
136
|
+
__promise->resolve();
|
|
137
|
+
});
|
|
138
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
139
|
+
jni::JniException __jniError(__throwable);
|
|
140
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
141
|
+
});
|
|
142
|
+
return __promise;
|
|
143
|
+
}();
|
|
144
|
+
}
|
|
145
|
+
std::shared_ptr<Promise<void>> JHybridReactNativeBundleUpdateSpec::downloadBundleASC(const BundleDownloadASCParams& params) {
|
|
146
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBundleDownloadASCParams> /* params */)>("downloadBundleASC");
|
|
147
|
+
auto __result = method(_javaPart, JBundleDownloadASCParams::fromCpp(params));
|
|
148
|
+
return [&]() {
|
|
149
|
+
auto __promise = Promise<void>::create();
|
|
150
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
151
|
+
__promise->resolve();
|
|
152
|
+
});
|
|
153
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
154
|
+
jni::JniException __jniError(__throwable);
|
|
155
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
156
|
+
});
|
|
157
|
+
return __promise;
|
|
158
|
+
}();
|
|
159
|
+
}
|
|
160
|
+
std::shared_ptr<Promise<void>> JHybridReactNativeBundleUpdateSpec::installBundle(const BundleInstallParams& params) {
|
|
161
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBundleInstallParams> /* params */)>("installBundle");
|
|
162
|
+
auto __result = method(_javaPart, JBundleInstallParams::fromCpp(params));
|
|
163
|
+
return [&]() {
|
|
164
|
+
auto __promise = Promise<void>::create();
|
|
165
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
166
|
+
__promise->resolve();
|
|
167
|
+
});
|
|
168
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
169
|
+
jni::JniException __jniError(__throwable);
|
|
170
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
171
|
+
});
|
|
172
|
+
return __promise;
|
|
173
|
+
}();
|
|
174
|
+
}
|
|
175
|
+
std::shared_ptr<Promise<void>> JHybridReactNativeBundleUpdateSpec::clearBundle() {
|
|
176
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("clearBundle");
|
|
177
|
+
auto __result = method(_javaPart);
|
|
178
|
+
return [&]() {
|
|
179
|
+
auto __promise = Promise<void>::create();
|
|
180
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
181
|
+
__promise->resolve();
|
|
182
|
+
});
|
|
183
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
184
|
+
jni::JniException __jniError(__throwable);
|
|
185
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
186
|
+
});
|
|
187
|
+
return __promise;
|
|
188
|
+
}();
|
|
189
|
+
}
|
|
190
|
+
std::shared_ptr<Promise<TestResult>> JHybridReactNativeBundleUpdateSpec::clearAllJSBundleData() {
|
|
191
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("clearAllJSBundleData");
|
|
192
|
+
auto __result = method(_javaPart);
|
|
193
|
+
return [&]() {
|
|
194
|
+
auto __promise = Promise<TestResult>::create();
|
|
195
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
196
|
+
auto __result = jni::static_ref_cast<JTestResult>(__boxedResult);
|
|
197
|
+
__promise->resolve(__result->toCpp());
|
|
198
|
+
});
|
|
199
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
200
|
+
jni::JniException __jniError(__throwable);
|
|
201
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
202
|
+
});
|
|
203
|
+
return __promise;
|
|
204
|
+
}();
|
|
205
|
+
}
|
|
206
|
+
std::shared_ptr<Promise<std::vector<FallbackBundleInfo>>> JHybridReactNativeBundleUpdateSpec::getFallbackUpdateBundleData() {
|
|
207
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getFallbackUpdateBundleData");
|
|
208
|
+
auto __result = method(_javaPart);
|
|
209
|
+
return [&]() {
|
|
210
|
+
auto __promise = Promise<std::vector<FallbackBundleInfo>>::create();
|
|
211
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
212
|
+
auto __result = jni::static_ref_cast<jni::JArrayClass<JFallbackBundleInfo>>(__boxedResult);
|
|
213
|
+
__promise->resolve([&]() {
|
|
214
|
+
size_t __size = __result->size();
|
|
215
|
+
std::vector<FallbackBundleInfo> __vector;
|
|
216
|
+
__vector.reserve(__size);
|
|
217
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
218
|
+
auto __element = __result->getElement(__i);
|
|
219
|
+
__vector.push_back(__element->toCpp());
|
|
220
|
+
}
|
|
221
|
+
return __vector;
|
|
222
|
+
}());
|
|
223
|
+
});
|
|
224
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
225
|
+
jni::JniException __jniError(__throwable);
|
|
226
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
227
|
+
});
|
|
228
|
+
return __promise;
|
|
229
|
+
}();
|
|
230
|
+
}
|
|
231
|
+
std::shared_ptr<Promise<void>> JHybridReactNativeBundleUpdateSpec::setCurrentUpdateBundleData(const BundleSwitchParams& params) {
|
|
232
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBundleSwitchParams> /* params */)>("setCurrentUpdateBundleData");
|
|
233
|
+
auto __result = method(_javaPart, JBundleSwitchParams::fromCpp(params));
|
|
234
|
+
return [&]() {
|
|
235
|
+
auto __promise = Promise<void>::create();
|
|
236
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
237
|
+
__promise->resolve();
|
|
238
|
+
});
|
|
239
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
240
|
+
jni::JniException __jniError(__throwable);
|
|
241
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
242
|
+
});
|
|
243
|
+
return __promise;
|
|
244
|
+
}();
|
|
245
|
+
}
|
|
246
|
+
std::string JHybridReactNativeBundleUpdateSpec::getWebEmbedPath() {
|
|
247
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getWebEmbedPath");
|
|
248
|
+
auto __result = method(_javaPart);
|
|
249
|
+
return __result->toStdString();
|
|
250
|
+
}
|
|
251
|
+
std::shared_ptr<Promise<std::string>> JHybridReactNativeBundleUpdateSpec::getWebEmbedPathAsync() {
|
|
252
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getWebEmbedPathAsync");
|
|
253
|
+
auto __result = method(_javaPart);
|
|
254
|
+
return [&]() {
|
|
255
|
+
auto __promise = Promise<std::string>::create();
|
|
256
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
257
|
+
auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
|
|
258
|
+
__promise->resolve(__result->toStdString());
|
|
259
|
+
});
|
|
260
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
261
|
+
jni::JniException __jniError(__throwable);
|
|
262
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
263
|
+
});
|
|
264
|
+
return __promise;
|
|
265
|
+
}();
|
|
266
|
+
}
|
|
267
|
+
std::shared_ptr<Promise<std::string>> JHybridReactNativeBundleUpdateSpec::getJsBundlePath() {
|
|
268
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getJsBundlePath");
|
|
269
|
+
auto __result = method(_javaPart);
|
|
270
|
+
return [&]() {
|
|
271
|
+
auto __promise = Promise<std::string>::create();
|
|
272
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
273
|
+
auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
|
|
274
|
+
__promise->resolve(__result->toStdString());
|
|
275
|
+
});
|
|
276
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
277
|
+
jni::JniException __jniError(__throwable);
|
|
278
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
279
|
+
});
|
|
280
|
+
return __promise;
|
|
281
|
+
}();
|
|
282
|
+
}
|
|
283
|
+
std::shared_ptr<Promise<std::string>> JHybridReactNativeBundleUpdateSpec::getNativeAppVersion() {
|
|
284
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getNativeAppVersion");
|
|
285
|
+
auto __result = method(_javaPart);
|
|
286
|
+
return [&]() {
|
|
287
|
+
auto __promise = Promise<std::string>::create();
|
|
288
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
289
|
+
auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
|
|
290
|
+
__promise->resolve(__result->toStdString());
|
|
291
|
+
});
|
|
292
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
293
|
+
jni::JniException __jniError(__throwable);
|
|
294
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
295
|
+
});
|
|
296
|
+
return __promise;
|
|
297
|
+
}();
|
|
298
|
+
}
|
|
299
|
+
std::shared_ptr<Promise<bool>> JHybridReactNativeBundleUpdateSpec::testVerification() {
|
|
300
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("testVerification");
|
|
301
|
+
auto __result = method(_javaPart);
|
|
302
|
+
return [&]() {
|
|
303
|
+
auto __promise = Promise<bool>::create();
|
|
304
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
305
|
+
auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
|
|
306
|
+
__promise->resolve(static_cast<bool>(__result->value()));
|
|
307
|
+
});
|
|
308
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
309
|
+
jni::JniException __jniError(__throwable);
|
|
310
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
311
|
+
});
|
|
312
|
+
return __promise;
|
|
313
|
+
}();
|
|
314
|
+
}
|
|
315
|
+
std::shared_ptr<Promise<bool>> JHybridReactNativeBundleUpdateSpec::isBundleExists(const std::string& appVersion, const std::string& bundleVersion) {
|
|
316
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* appVersion */, jni::alias_ref<jni::JString> /* bundleVersion */)>("isBundleExists");
|
|
317
|
+
auto __result = method(_javaPart, jni::make_jstring(appVersion), jni::make_jstring(bundleVersion));
|
|
318
|
+
return [&]() {
|
|
319
|
+
auto __promise = Promise<bool>::create();
|
|
320
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
321
|
+
auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
|
|
322
|
+
__promise->resolve(static_cast<bool>(__result->value()));
|
|
323
|
+
});
|
|
324
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
325
|
+
jni::JniException __jniError(__throwable);
|
|
326
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
327
|
+
});
|
|
328
|
+
return __promise;
|
|
329
|
+
}();
|
|
330
|
+
}
|
|
331
|
+
std::shared_ptr<Promise<void>> JHybridReactNativeBundleUpdateSpec::verifyExtractedBundle(const std::string& appVersion, const std::string& bundleVersion) {
|
|
332
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* appVersion */, jni::alias_ref<jni::JString> /* bundleVersion */)>("verifyExtractedBundle");
|
|
333
|
+
auto __result = method(_javaPart, jni::make_jstring(appVersion), jni::make_jstring(bundleVersion));
|
|
334
|
+
return [&]() {
|
|
335
|
+
auto __promise = Promise<void>::create();
|
|
336
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
337
|
+
__promise->resolve();
|
|
338
|
+
});
|
|
339
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
340
|
+
jni::JniException __jniError(__throwable);
|
|
341
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
342
|
+
});
|
|
343
|
+
return __promise;
|
|
344
|
+
}();
|
|
345
|
+
}
|
|
346
|
+
std::shared_ptr<Promise<std::vector<LocalBundleInfo>>> JHybridReactNativeBundleUpdateSpec::listLocalBundles() {
|
|
347
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("listLocalBundles");
|
|
348
|
+
auto __result = method(_javaPart);
|
|
349
|
+
return [&]() {
|
|
350
|
+
auto __promise = Promise<std::vector<LocalBundleInfo>>::create();
|
|
351
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
352
|
+
auto __result = jni::static_ref_cast<jni::JArrayClass<JLocalBundleInfo>>(__boxedResult);
|
|
353
|
+
__promise->resolve([&]() {
|
|
354
|
+
size_t __size = __result->size();
|
|
355
|
+
std::vector<LocalBundleInfo> __vector;
|
|
356
|
+
__vector.reserve(__size);
|
|
357
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
358
|
+
auto __element = __result->getElement(__i);
|
|
359
|
+
__vector.push_back(__element->toCpp());
|
|
360
|
+
}
|
|
361
|
+
return __vector;
|
|
362
|
+
}());
|
|
363
|
+
});
|
|
364
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
365
|
+
jni::JniException __jniError(__throwable);
|
|
366
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
367
|
+
});
|
|
368
|
+
return __promise;
|
|
369
|
+
}();
|
|
370
|
+
}
|
|
371
|
+
std::shared_ptr<Promise<std::vector<AscFileInfo>>> JHybridReactNativeBundleUpdateSpec::listAscFiles() {
|
|
372
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("listAscFiles");
|
|
373
|
+
auto __result = method(_javaPart);
|
|
374
|
+
return [&]() {
|
|
375
|
+
auto __promise = Promise<std::vector<AscFileInfo>>::create();
|
|
376
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
377
|
+
auto __result = jni::static_ref_cast<jni::JArrayClass<JAscFileInfo>>(__boxedResult);
|
|
378
|
+
__promise->resolve([&]() {
|
|
379
|
+
size_t __size = __result->size();
|
|
380
|
+
std::vector<AscFileInfo> __vector;
|
|
381
|
+
__vector.reserve(__size);
|
|
382
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
383
|
+
auto __element = __result->getElement(__i);
|
|
384
|
+
__vector.push_back(__element->toCpp());
|
|
385
|
+
}
|
|
386
|
+
return __vector;
|
|
387
|
+
}());
|
|
388
|
+
});
|
|
389
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
390
|
+
jni::JniException __jniError(__throwable);
|
|
391
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
392
|
+
});
|
|
393
|
+
return __promise;
|
|
394
|
+
}();
|
|
395
|
+
}
|
|
396
|
+
std::shared_ptr<Promise<std::string>> JHybridReactNativeBundleUpdateSpec::getSha256FromFilePath(const std::string& filePath) {
|
|
397
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* filePath */)>("getSha256FromFilePath");
|
|
398
|
+
auto __result = method(_javaPart, jni::make_jstring(filePath));
|
|
399
|
+
return [&]() {
|
|
400
|
+
auto __promise = Promise<std::string>::create();
|
|
401
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
402
|
+
auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
|
|
403
|
+
__promise->resolve(__result->toStdString());
|
|
404
|
+
});
|
|
405
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
406
|
+
jni::JniException __jniError(__throwable);
|
|
407
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
408
|
+
});
|
|
409
|
+
return __promise;
|
|
410
|
+
}();
|
|
411
|
+
}
|
|
412
|
+
std::shared_ptr<Promise<TestResult>> JHybridReactNativeBundleUpdateSpec::testDeleteJsBundle(const std::string& appVersion, const std::string& bundleVersion) {
|
|
413
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* appVersion */, jni::alias_ref<jni::JString> /* bundleVersion */)>("testDeleteJsBundle");
|
|
414
|
+
auto __result = method(_javaPart, jni::make_jstring(appVersion), jni::make_jstring(bundleVersion));
|
|
415
|
+
return [&]() {
|
|
416
|
+
auto __promise = Promise<TestResult>::create();
|
|
417
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
418
|
+
auto __result = jni::static_ref_cast<JTestResult>(__boxedResult);
|
|
419
|
+
__promise->resolve(__result->toCpp());
|
|
420
|
+
});
|
|
421
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
422
|
+
jni::JniException __jniError(__throwable);
|
|
423
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
424
|
+
});
|
|
425
|
+
return __promise;
|
|
426
|
+
}();
|
|
427
|
+
}
|
|
428
|
+
std::shared_ptr<Promise<TestResult>> JHybridReactNativeBundleUpdateSpec::testDeleteJsRuntimeDir(const std::string& appVersion, const std::string& bundleVersion) {
|
|
429
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* appVersion */, jni::alias_ref<jni::JString> /* bundleVersion */)>("testDeleteJsRuntimeDir");
|
|
430
|
+
auto __result = method(_javaPart, jni::make_jstring(appVersion), jni::make_jstring(bundleVersion));
|
|
431
|
+
return [&]() {
|
|
432
|
+
auto __promise = Promise<TestResult>::create();
|
|
433
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
434
|
+
auto __result = jni::static_ref_cast<JTestResult>(__boxedResult);
|
|
435
|
+
__promise->resolve(__result->toCpp());
|
|
436
|
+
});
|
|
437
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
438
|
+
jni::JniException __jniError(__throwable);
|
|
439
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
440
|
+
});
|
|
441
|
+
return __promise;
|
|
442
|
+
}();
|
|
443
|
+
}
|
|
444
|
+
std::shared_ptr<Promise<TestResult>> JHybridReactNativeBundleUpdateSpec::testDeleteMetadataJson(const std::string& appVersion, const std::string& bundleVersion) {
|
|
445
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* appVersion */, jni::alias_ref<jni::JString> /* bundleVersion */)>("testDeleteMetadataJson");
|
|
446
|
+
auto __result = method(_javaPart, jni::make_jstring(appVersion), jni::make_jstring(bundleVersion));
|
|
447
|
+
return [&]() {
|
|
448
|
+
auto __promise = Promise<TestResult>::create();
|
|
449
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
450
|
+
auto __result = jni::static_ref_cast<JTestResult>(__boxedResult);
|
|
451
|
+
__promise->resolve(__result->toCpp());
|
|
452
|
+
});
|
|
453
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
454
|
+
jni::JniException __jniError(__throwable);
|
|
455
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
456
|
+
});
|
|
457
|
+
return __promise;
|
|
458
|
+
}();
|
|
459
|
+
}
|
|
460
|
+
std::shared_ptr<Promise<TestResult>> JHybridReactNativeBundleUpdateSpec::testWriteEmptyMetadataJson(const std::string& appVersion, const std::string& bundleVersion) {
|
|
461
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* appVersion */, jni::alias_ref<jni::JString> /* bundleVersion */)>("testWriteEmptyMetadataJson");
|
|
462
|
+
auto __result = method(_javaPart, jni::make_jstring(appVersion), jni::make_jstring(bundleVersion));
|
|
463
|
+
return [&]() {
|
|
464
|
+
auto __promise = Promise<TestResult>::create();
|
|
465
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
466
|
+
auto __result = jni::static_ref_cast<JTestResult>(__boxedResult);
|
|
467
|
+
__promise->resolve(__result->toCpp());
|
|
468
|
+
});
|
|
469
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
470
|
+
jni::JniException __jniError(__throwable);
|
|
471
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
472
|
+
});
|
|
473
|
+
return __promise;
|
|
474
|
+
}();
|
|
475
|
+
}
|
|
476
|
+
double JHybridReactNativeBundleUpdateSpec::addDownloadListener(const std::function<void(const BundleDownloadEvent& /* event */)>& callback) {
|
|
477
|
+
static const auto method = javaClassStatic()->getMethod<double(jni::alias_ref<JFunc_void_BundleDownloadEvent::javaobject> /* callback */)>("addDownloadListener_cxx");
|
|
478
|
+
auto __result = method(_javaPart, JFunc_void_BundleDownloadEvent_cxx::fromCpp(callback));
|
|
479
|
+
return __result;
|
|
480
|
+
}
|
|
481
|
+
void JHybridReactNativeBundleUpdateSpec::removeDownloadListener(double id) {
|
|
482
|
+
static const auto method = javaClassStatic()->getMethod<void(double /* id */)>("removeDownloadListener");
|
|
483
|
+
method(_javaPart, id);
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
} // namespace margelo::nitro::reactnativebundleupdate
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridReactNativeBundleUpdateSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <NitroModules/JHybridObject.hpp>
|
|
11
|
+
#include <fbjni/fbjni.h>
|
|
12
|
+
#include "HybridReactNativeBundleUpdateSpec.hpp"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::reactnativebundleupdate {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
class JHybridReactNativeBundleUpdateSpec: public jni::HybridClass<JHybridReactNativeBundleUpdateSpec, JHybridObject>,
|
|
22
|
+
public virtual HybridReactNativeBundleUpdateSpec {
|
|
23
|
+
public:
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/reactnativebundleupdate/HybridReactNativeBundleUpdateSpec;";
|
|
25
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
26
|
+
static void registerNatives();
|
|
27
|
+
|
|
28
|
+
protected:
|
|
29
|
+
// C++ constructor (called from Java via `initHybrid()`)
|
|
30
|
+
explicit JHybridReactNativeBundleUpdateSpec(jni::alias_ref<jhybridobject> jThis) :
|
|
31
|
+
HybridObject(HybridReactNativeBundleUpdateSpec::TAG),
|
|
32
|
+
HybridBase(jThis),
|
|
33
|
+
_javaPart(jni::make_global(jThis)) {}
|
|
34
|
+
|
|
35
|
+
public:
|
|
36
|
+
~JHybridReactNativeBundleUpdateSpec() override {
|
|
37
|
+
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
38
|
+
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public:
|
|
42
|
+
size_t getExternalMemorySize() noexcept override;
|
|
43
|
+
void dispose() noexcept override;
|
|
44
|
+
std::string toString() override;
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
inline const jni::global_ref<JHybridReactNativeBundleUpdateSpec::javaobject>& getJavaPart() const noexcept {
|
|
48
|
+
return _javaPart;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public:
|
|
52
|
+
// Properties
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
public:
|
|
56
|
+
// Methods
|
|
57
|
+
std::shared_ptr<Promise<BundleDownloadResult>> downloadBundle(const BundleDownloadParams& params) override;
|
|
58
|
+
std::shared_ptr<Promise<void>> verifyBundle(const BundleVerifyParams& params) override;
|
|
59
|
+
std::shared_ptr<Promise<void>> verifyBundleASC(const BundleVerifyASCParams& params) override;
|
|
60
|
+
std::shared_ptr<Promise<void>> downloadBundleASC(const BundleDownloadASCParams& params) override;
|
|
61
|
+
std::shared_ptr<Promise<void>> installBundle(const BundleInstallParams& params) override;
|
|
62
|
+
std::shared_ptr<Promise<void>> clearBundle() override;
|
|
63
|
+
std::shared_ptr<Promise<TestResult>> clearAllJSBundleData() override;
|
|
64
|
+
std::shared_ptr<Promise<std::vector<FallbackBundleInfo>>> getFallbackUpdateBundleData() override;
|
|
65
|
+
std::shared_ptr<Promise<void>> setCurrentUpdateBundleData(const BundleSwitchParams& params) override;
|
|
66
|
+
std::string getWebEmbedPath() override;
|
|
67
|
+
std::shared_ptr<Promise<std::string>> getWebEmbedPathAsync() override;
|
|
68
|
+
std::shared_ptr<Promise<std::string>> getJsBundlePath() override;
|
|
69
|
+
std::shared_ptr<Promise<std::string>> getNativeAppVersion() override;
|
|
70
|
+
std::shared_ptr<Promise<bool>> testVerification() override;
|
|
71
|
+
std::shared_ptr<Promise<bool>> isBundleExists(const std::string& appVersion, const std::string& bundleVersion) override;
|
|
72
|
+
std::shared_ptr<Promise<void>> verifyExtractedBundle(const std::string& appVersion, const std::string& bundleVersion) override;
|
|
73
|
+
std::shared_ptr<Promise<std::vector<LocalBundleInfo>>> listLocalBundles() override;
|
|
74
|
+
std::shared_ptr<Promise<std::vector<AscFileInfo>>> listAscFiles() override;
|
|
75
|
+
std::shared_ptr<Promise<std::string>> getSha256FromFilePath(const std::string& filePath) override;
|
|
76
|
+
std::shared_ptr<Promise<TestResult>> testDeleteJsBundle(const std::string& appVersion, const std::string& bundleVersion) override;
|
|
77
|
+
std::shared_ptr<Promise<TestResult>> testDeleteJsRuntimeDir(const std::string& appVersion, const std::string& bundleVersion) override;
|
|
78
|
+
std::shared_ptr<Promise<TestResult>> testDeleteMetadataJson(const std::string& appVersion, const std::string& bundleVersion) override;
|
|
79
|
+
std::shared_ptr<Promise<TestResult>> testWriteEmptyMetadataJson(const std::string& appVersion, const std::string& bundleVersion) override;
|
|
80
|
+
double addDownloadListener(const std::function<void(const BundleDownloadEvent& /* event */)>& callback) override;
|
|
81
|
+
void removeDownloadListener(double id) override;
|
|
82
|
+
|
|
83
|
+
private:
|
|
84
|
+
friend HybridBase;
|
|
85
|
+
using HybridBase::HybridBase;
|
|
86
|
+
jni::global_ref<JHybridReactNativeBundleUpdateSpec::javaobject> _javaPart;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
} // namespace margelo::nitro::reactnativebundleupdate
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JLocalBundleInfo.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "LocalBundleInfo.hpp"
|
|
12
|
+
|
|
13
|
+
#include <string>
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::reactnativebundleupdate {
|
|
16
|
+
|
|
17
|
+
using namespace facebook;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The C++ JNI bridge between the C++ struct "LocalBundleInfo" and the the Kotlin data class "LocalBundleInfo".
|
|
21
|
+
*/
|
|
22
|
+
struct JLocalBundleInfo final: public jni::JavaClass<JLocalBundleInfo> {
|
|
23
|
+
public:
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/reactnativebundleupdate/LocalBundleInfo;";
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
/**
|
|
28
|
+
* Convert this Java/Kotlin-based struct to the C++ struct LocalBundleInfo by copying all values to C++.
|
|
29
|
+
*/
|
|
30
|
+
[[maybe_unused]]
|
|
31
|
+
[[nodiscard]]
|
|
32
|
+
LocalBundleInfo toCpp() const {
|
|
33
|
+
static const auto clazz = javaClassStatic();
|
|
34
|
+
static const auto fieldAppVersion = clazz->getField<jni::JString>("appVersion");
|
|
35
|
+
jni::local_ref<jni::JString> appVersion = this->getFieldValue(fieldAppVersion);
|
|
36
|
+
static const auto fieldBundleVersion = clazz->getField<jni::JString>("bundleVersion");
|
|
37
|
+
jni::local_ref<jni::JString> bundleVersion = this->getFieldValue(fieldBundleVersion);
|
|
38
|
+
return LocalBundleInfo(
|
|
39
|
+
appVersion->toStdString(),
|
|
40
|
+
bundleVersion->toStdString()
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public:
|
|
45
|
+
/**
|
|
46
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
47
|
+
*/
|
|
48
|
+
[[maybe_unused]]
|
|
49
|
+
static jni::local_ref<JLocalBundleInfo::javaobject> fromCpp(const LocalBundleInfo& value) {
|
|
50
|
+
using JSignature = JLocalBundleInfo(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>);
|
|
51
|
+
static const auto clazz = javaClassStatic();
|
|
52
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
53
|
+
return create(
|
|
54
|
+
clazz,
|
|
55
|
+
jni::make_jstring(value.appVersion),
|
|
56
|
+
jni::make_jstring(value.bundleVersion)
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
} // namespace margelo::nitro::reactnativebundleupdate
|