react-native-audio-browser 0.2.0-next.13 → 0.2.0-next.14
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/src/main/java/com/audiobrowser/AudioBrowser.kt +3 -0
- package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +44 -0
- package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +0 -2
- package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +1 -1
- package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +21 -22
- package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +8 -5
- package/android/src/main/res/values/strings.xml +37 -2
- package/android/src/test/java/com/audiobrowser/TestFixtures.kt +1 -2
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerLayerResolutionTest.kt +9 -0
- package/android/src/test/java/com/audiobrowser/util/MediaExtrasBuilderTest.kt +2 -1
- package/ios/Browser/JsonModels.swift +0 -5
- package/ios/Extension/Section+Copying.swift +1 -3
- package/ios/HybridAudioBrowser.swift +2 -1
- package/ios/Model/NitroTypeStubs.swift +0 -1
- package/ios/Tests/ResolvedTrackCopyingTests.swift +2 -2
- package/lib/commonjs/features/browser-config.js +1 -0
- package/lib/commonjs/features/browser-config.js.map +1 -1
- package/lib/module/features/browser-config.js +1 -0
- package/lib/module/features/browser-config.js.map +1 -1
- package/lib/typescript/src/features/browser-config.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-native.d.ts +2 -1
- package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-nodes.d.ts +14 -9
- package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
- package/lib/typescript/src/types/browser.d.ts +36 -0
- package/lib/typescript/src/types/browser.d.ts.map +1 -1
- package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +2 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__string__.hpp +102 -0
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +1 -0
- package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +14 -1
- package/nitrogen/generated/android/c++/JSection.hpp +1 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__string__.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +7 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Section.kt +2 -5
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +9 -0
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +50 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__string__.swift +54 -0
- package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +48 -1
- package/nitrogen/generated/ios/swift/Section.swift +1 -19
- package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +6 -2
- package/nitrogen/generated/shared/c++/Section.hpp +1 -5
- package/package.json +1 -1
- package/src/features/browser-config.ts +1 -0
- package/src/types/browser-native.ts +5 -1
- package/src/types/browser-nodes.ts +14 -9
- package/src/types/browser.ts +38 -0
- package/website/guide/android-auto.md +1 -1
- package/website/guide/browser.md +19 -19
|
@@ -836,6 +836,40 @@ export type BrowserConfiguration = {
|
|
|
836
836
|
* @platform android
|
|
837
837
|
*/
|
|
838
838
|
androidControllerOfflineError?: boolean;
|
|
839
|
+
/**
|
|
840
|
+
* Titles the "view more" row appended to a `Section` that carries a
|
|
841
|
+
* `Section.path` on surfaces whose section header cannot be tapped —
|
|
842
|
+
* Android Auto, today the only one.
|
|
843
|
+
*
|
|
844
|
+
* Leave it unset and the row is titled "View more" — the library's in-code
|
|
845
|
+
* default, the same arrangement `formatNavigationError` has. Set this to
|
|
846
|
+
* localize it: it is re-resolved once per content generation, so
|
|
847
|
+
* `invalidateAllContent()` after an in-app language switch picks up the new
|
|
848
|
+
* copy without reconfiguring the browser. That is why it is a callback rather
|
|
849
|
+
* than a plain string — an app whose locale is its own, not the system's,
|
|
850
|
+
* cannot express that with a value frozen at configure time.
|
|
851
|
+
*
|
|
852
|
+
* One string for every section by design — the row is a fallback for a
|
|
853
|
+
* surface that cannot draw a link in its header, so per-section wording would
|
|
854
|
+
* be ceremony most consumers never see rendered.
|
|
855
|
+
*
|
|
856
|
+
* For wording that varies by section — "View all 42 albums", "See every
|
|
857
|
+
* episode" — author the link yourself instead: append an ordinary browsable
|
|
858
|
+
* {@link Track} to the section's `children`, titled however you like, and
|
|
859
|
+
* leave `Section.path` unset so this row doesn't also appear. Since the
|
|
860
|
+
* row is Android-only, that branch is an ordinary platform check on the
|
|
861
|
+
* content you emit; CarPlay never sees the extra row.
|
|
862
|
+
*
|
|
863
|
+
* @default 'View more'
|
|
864
|
+
*
|
|
865
|
+
* @example
|
|
866
|
+
* ```typescript
|
|
867
|
+
* viewMoreTitle: () => t('View more')
|
|
868
|
+
* ```
|
|
869
|
+
*
|
|
870
|
+
* @platform android
|
|
871
|
+
*/
|
|
872
|
+
viewMoreTitle?: ViewMoreTitleCallback;
|
|
839
873
|
/**
|
|
840
874
|
* Title shown (as the list's centered empty state) on CarPlay screens whose
|
|
841
875
|
* content is still loading — browse destinations while they resolve, and the
|
|
@@ -983,4 +1017,6 @@ export type FormatNavigationErrorCallback = (params: FormatNavigationErrorParams
|
|
|
983
1017
|
* or `undefined` to do nothing. See `resolveAlbumPath`.
|
|
984
1018
|
*/
|
|
985
1019
|
export type ResolveAlbumPathCallback = (track: Track) => string | undefined;
|
|
1020
|
+
/** Supplies the title of the appended "view more" row. See `viewMoreTitle`. */
|
|
1021
|
+
export type ViewMoreTitleCallback = () => string;
|
|
986
1022
|
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/types/browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/types/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
#include "JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp"
|
|
32
32
|
#include "JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp"
|
|
33
33
|
#include "JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp"
|
|
34
|
+
#include "JFunc_std__shared_ptr_Promise_std__string__.hpp"
|
|
34
35
|
#include "JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp"
|
|
35
36
|
#include "JFunc_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.hpp"
|
|
36
37
|
#include "JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.hpp"
|
|
@@ -104,6 +105,7 @@ void registerAllNatives() {
|
|
|
104
105
|
margelo::nitro::audiobrowser::JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam_cxx::registerNatives();
|
|
105
106
|
margelo::nitro::audiobrowser::JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams_cxx::registerNatives();
|
|
106
107
|
margelo::nitro::audiobrowser::JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent_cxx::registerNatives();
|
|
108
|
+
margelo::nitro::audiobrowser::JFunc_std__shared_ptr_Promise_std__string___cxx::registerNatives();
|
|
107
109
|
margelo::nitro::audiobrowser::JFunc_std__shared_ptr_Promise_std__optional_std__string____Track_cxx::registerNatives();
|
|
108
110
|
margelo::nitro::audiobrowser::JFunc_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams_cxx::registerNatives();
|
|
109
111
|
margelo::nitro::audiobrowser::JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest_cxx::registerNatives();
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JFunc_std__shared_ptr_Promise_std__string__.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include <functional>
|
|
12
|
+
|
|
13
|
+
#include <string>
|
|
14
|
+
#include <NitroModules/Promise.hpp>
|
|
15
|
+
#include <functional>
|
|
16
|
+
#include <NitroModules/JNICallable.hpp>
|
|
17
|
+
#include <NitroModules/JPromise.hpp>
|
|
18
|
+
|
|
19
|
+
namespace margelo::nitro::audiobrowser {
|
|
20
|
+
|
|
21
|
+
using namespace facebook;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Represents the Java/Kotlin callback `() -> Promise<String>`.
|
|
25
|
+
* This can be passed around between C++ and Java/Kotlin.
|
|
26
|
+
*/
|
|
27
|
+
struct JFunc_std__shared_ptr_Promise_std__string__: public jni::JavaClass<JFunc_std__shared_ptr_Promise_std__string__> {
|
|
28
|
+
public:
|
|
29
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__string__;";
|
|
30
|
+
|
|
31
|
+
public:
|
|
32
|
+
/**
|
|
33
|
+
* Invokes the function this `JFunc_std__shared_ptr_Promise_std__string__` instance holds through JNI.
|
|
34
|
+
*/
|
|
35
|
+
std::shared_ptr<Promise<std::string>> invoke() const {
|
|
36
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("invoke");
|
|
37
|
+
auto __result = method(self());
|
|
38
|
+
return [&]() {
|
|
39
|
+
auto __promise = Promise<std::string>::create();
|
|
40
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
41
|
+
auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
|
|
42
|
+
__promise->resolve(__result->toStdString());
|
|
43
|
+
});
|
|
44
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
45
|
+
jni::JniException __jniError(__throwable);
|
|
46
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
47
|
+
});
|
|
48
|
+
return __promise;
|
|
49
|
+
}();
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* An implementation of Func_std__shared_ptr_Promise_std__string__ that is backed by a C++ implementation (using `std::function<...>`)
|
|
55
|
+
*/
|
|
56
|
+
class JFunc_std__shared_ptr_Promise_std__string___cxx final: public jni::HybridClass<JFunc_std__shared_ptr_Promise_std__string___cxx, JFunc_std__shared_ptr_Promise_std__string__> {
|
|
57
|
+
public:
|
|
58
|
+
static jni::local_ref<JFunc_std__shared_ptr_Promise_std__string__::javaobject> fromCpp(const std::function<std::shared_ptr<Promise<std::string>>()>& func) {
|
|
59
|
+
return JFunc_std__shared_ptr_Promise_std__string___cxx::newObjectCxxArgs(func);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public:
|
|
63
|
+
/**
|
|
64
|
+
* Invokes the C++ `std::function<...>` this `JFunc_std__shared_ptr_Promise_std__string___cxx` instance holds.
|
|
65
|
+
*/
|
|
66
|
+
jni::local_ref<JPromise::javaobject> invoke_cxx() {
|
|
67
|
+
std::shared_ptr<Promise<std::string>> __result = _func();
|
|
68
|
+
return [&]() {
|
|
69
|
+
jni::local_ref<JPromise::javaobject> __localPromise = JPromise::create();
|
|
70
|
+
jni::global_ref<JPromise::javaobject> __promise = jni::make_global(__localPromise);
|
|
71
|
+
__result->addOnResolvedListener([=](const std::string& __result) {
|
|
72
|
+
__promise->cthis()->resolve(jni::make_jstring(__result));
|
|
73
|
+
});
|
|
74
|
+
__result->addOnRejectedListener([=](const std::exception_ptr& __error) {
|
|
75
|
+
auto __jniError = jni::getJavaExceptionForCppException(__error);
|
|
76
|
+
__promise->cthis()->reject(__jniError);
|
|
77
|
+
});
|
|
78
|
+
return __localPromise;
|
|
79
|
+
}();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
public:
|
|
83
|
+
[[nodiscard]]
|
|
84
|
+
inline const std::function<std::shared_ptr<Promise<std::string>>()>& getFunction() const {
|
|
85
|
+
return _func;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
public:
|
|
89
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__string___cxx;";
|
|
90
|
+
static void registerNatives() {
|
|
91
|
+
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_std__shared_ptr_Promise_std__string___cxx::invoke_cxx)});
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
private:
|
|
95
|
+
explicit JFunc_std__shared_ptr_Promise_std__string___cxx(const std::function<std::shared_ptr<Promise<std::string>>()>& func): _func(func) { }
|
|
96
|
+
|
|
97
|
+
private:
|
|
98
|
+
friend HybridBase;
|
|
99
|
+
std::function<std::shared_ptr<Promise<std::string>>()> _func;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
} // namespace margelo::nitro::audiobrowser
|
|
@@ -300,6 +300,7 @@ namespace margelo::nitro::audiobrowser { struct RetryConfig; }
|
|
|
300
300
|
#include "JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp"
|
|
301
301
|
#include <NitroModules/JUnit.hpp>
|
|
302
302
|
#include "JTrackLoadEvent.hpp"
|
|
303
|
+
#include "JFunc_std__shared_ptr_Promise_std__string__.hpp"
|
|
303
304
|
#include "JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp"
|
|
304
305
|
#include "FormatNavigationErrorParams.hpp"
|
|
305
306
|
#include "JFunc_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.hpp"
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
#include "JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.hpp"
|
|
47
47
|
#include "JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp"
|
|
48
48
|
#include "JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp"
|
|
49
|
+
#include "JFunc_std__shared_ptr_Promise_std__string__.hpp"
|
|
49
50
|
#include "JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp"
|
|
50
51
|
#include "JGridTile.hpp"
|
|
51
52
|
#include "JHttpMethod.hpp"
|
|
@@ -145,6 +146,8 @@ namespace margelo::nitro::audiobrowser {
|
|
|
145
146
|
jni::local_ref<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent::javaobject> handleTrackLoad = this->getFieldValue(fieldHandleTrackLoad);
|
|
146
147
|
static const auto fieldAndroidControllerOfflineError = clazz->getField<jni::JBoolean>("androidControllerOfflineError");
|
|
147
148
|
jni::local_ref<jni::JBoolean> androidControllerOfflineError = this->getFieldValue(fieldAndroidControllerOfflineError);
|
|
149
|
+
static const auto fieldViewMoreTitle = clazz->getField<JFunc_std__shared_ptr_Promise_std__string__::javaobject>("viewMoreTitle");
|
|
150
|
+
jni::local_ref<JFunc_std__shared_ptr_Promise_std__string__::javaobject> viewMoreTitle = this->getFieldValue(fieldViewMoreTitle);
|
|
148
151
|
static const auto fieldCarPlayLoadingTitle = clazz->getField<jni::JString>("carPlayLoadingTitle");
|
|
149
152
|
jni::local_ref<jni::JString> carPlayLoadingTitle = this->getFieldValue(fieldCarPlayLoadingTitle);
|
|
150
153
|
static const auto fieldResolveAlbumPath = clazz->getField<JFunc_std__shared_ptr_Promise_std__optional_std__string____Track::javaobject>("resolveAlbumPath");
|
|
@@ -197,6 +200,15 @@ namespace margelo::nitro::audiobrowser {
|
|
|
197
200
|
}
|
|
198
201
|
}()) : std::nullopt,
|
|
199
202
|
androidControllerOfflineError != nullptr ? std::make_optional(static_cast<bool>(androidControllerOfflineError->value())) : std::nullopt,
|
|
203
|
+
viewMoreTitle != nullptr ? std::make_optional([&]() -> std::function<std::shared_ptr<Promise<std::string>>()> {
|
|
204
|
+
if (viewMoreTitle->isInstanceOf(JFunc_std__shared_ptr_Promise_std__string___cxx::javaClassStatic())) [[likely]] {
|
|
205
|
+
auto downcast = jni::static_ref_cast<JFunc_std__shared_ptr_Promise_std__string___cxx::javaobject>(viewMoreTitle);
|
|
206
|
+
return downcast->cthis()->getFunction();
|
|
207
|
+
} else {
|
|
208
|
+
auto viewMoreTitleRef = jni::make_global(viewMoreTitle);
|
|
209
|
+
return JNICallable<JFunc_std__shared_ptr_Promise_std__string__, std::shared_ptr<Promise<std::string>>()>(std::move(viewMoreTitleRef));
|
|
210
|
+
}
|
|
211
|
+
}()) : std::nullopt,
|
|
200
212
|
carPlayLoadingTitle != nullptr ? std::make_optional(carPlayLoadingTitle->toStdString()) : std::nullopt,
|
|
201
213
|
resolveAlbumPath != nullptr ? std::make_optional([&]() -> std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)> {
|
|
202
214
|
if (resolveAlbumPath->isInstanceOf(JFunc_std__shared_ptr_Promise_std__optional_std__string____Track_cxx::javaClassStatic())) [[likely]] {
|
|
@@ -225,7 +237,7 @@ namespace margelo::nitro::audiobrowser {
|
|
|
225
237
|
*/
|
|
226
238
|
[[maybe_unused]]
|
|
227
239
|
static jni::local_ref<JNativeBrowserConfiguration::javaobject> fromCpp(const NativeBrowserConfiguration& value) {
|
|
228
|
-
using JSignature = JNativeBrowserConfiguration(jni::alias_ref<jni::JString>, jni::alias_ref<JTransformableRequestConfig>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____::javaobject>, jni::alias_ref<JTransformableRequestConfig>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____::javaobject>, jni::alias_ref<JMediaRequestConfig>, jni::alias_ref<JArtworkRequestConfig>, jni::alias_ref<JArtworkRequestConfig>, jni::alias_ref<jni::JArrayClass<JNativeRouteEntry>>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent::javaobject>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JString>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__optional_std__string____Track::javaobject>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams::javaobject>);
|
|
240
|
+
using JSignature = JNativeBrowserConfiguration(jni::alias_ref<jni::JString>, jni::alias_ref<JTransformableRequestConfig>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____::javaobject>, jni::alias_ref<JTransformableRequestConfig>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____::javaobject>, jni::alias_ref<JMediaRequestConfig>, jni::alias_ref<JArtworkRequestConfig>, jni::alias_ref<JArtworkRequestConfig>, jni::alias_ref<jni::JArrayClass<JNativeRouteEntry>>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent::javaobject>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__string__::javaobject>, jni::alias_ref<jni::JString>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__optional_std__string____Track::javaobject>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams::javaobject>);
|
|
229
241
|
static const auto clazz = javaClassStatic();
|
|
230
242
|
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
231
243
|
return create(
|
|
@@ -251,6 +263,7 @@ namespace margelo::nitro::audiobrowser {
|
|
|
251
263
|
value.singleTrack.has_value() ? jni::JBoolean::valueOf(value.singleTrack.value()) : nullptr,
|
|
252
264
|
value.handleTrackLoad.has_value() ? JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent_cxx::fromCpp(value.handleTrackLoad.value()) : nullptr,
|
|
253
265
|
value.androidControllerOfflineError.has_value() ? jni::JBoolean::valueOf(value.androidControllerOfflineError.value()) : nullptr,
|
|
266
|
+
value.viewMoreTitle.has_value() ? JFunc_std__shared_ptr_Promise_std__string___cxx::fromCpp(value.viewMoreTitle.value()) : nullptr,
|
|
254
267
|
value.carPlayLoadingTitle.has_value() ? jni::make_jstring(value.carPlayLoadingTitle.value()) : nullptr,
|
|
255
268
|
value.resolveAlbumPath.has_value() ? JFunc_std__shared_ptr_Promise_std__optional_std__string____Track_cxx::fromCpp(value.resolveAlbumPath.value()) : nullptr,
|
|
256
269
|
value.formatNavigationError.has_value() ? JFunc_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams_cxx::fromCpp(value.formatNavigationError.value()) : nullptr
|
|
@@ -62,8 +62,6 @@ namespace margelo::nitro::audiobrowser {
|
|
|
62
62
|
static const auto clazz = javaClassStatic();
|
|
63
63
|
static const auto fieldTitle = clazz->getField<jni::JString>("title");
|
|
64
64
|
jni::local_ref<jni::JString> title = this->getFieldValue(fieldTitle);
|
|
65
|
-
static const auto fieldSubtitle = clazz->getField<jni::JString>("subtitle");
|
|
66
|
-
jni::local_ref<jni::JString> subtitle = this->getFieldValue(fieldSubtitle);
|
|
67
65
|
static const auto fieldStyle = clazz->getField<JSectionStyle>("style");
|
|
68
66
|
jni::local_ref<JSectionStyle> style = this->getFieldValue(fieldStyle);
|
|
69
67
|
static const auto fieldPath = clazz->getField<jni::JString>("path");
|
|
@@ -72,7 +70,6 @@ namespace margelo::nitro::audiobrowser {
|
|
|
72
70
|
jni::local_ref<jni::JArrayClass<JTrack>> children = this->getFieldValue(fieldChildren);
|
|
73
71
|
return Section(
|
|
74
72
|
title != nullptr ? std::make_optional(title->toStdString()) : std::nullopt,
|
|
75
|
-
subtitle != nullptr ? std::make_optional(subtitle->toStdString()) : std::nullopt,
|
|
76
73
|
style != nullptr ? std::make_optional(style->toCpp()) : std::nullopt,
|
|
77
74
|
path != nullptr ? std::make_optional(path->toStdString()) : std::nullopt,
|
|
78
75
|
[&]() {
|
|
@@ -94,13 +91,12 @@ namespace margelo::nitro::audiobrowser {
|
|
|
94
91
|
*/
|
|
95
92
|
[[maybe_unused]]
|
|
96
93
|
static jni::local_ref<JSection::javaobject> fromCpp(const Section& value) {
|
|
97
|
-
using JSignature = JSection(jni::alias_ref<jni::JString>, jni::alias_ref<
|
|
94
|
+
using JSignature = JSection(jni::alias_ref<jni::JString>, jni::alias_ref<JSectionStyle>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JArrayClass<JTrack>>);
|
|
98
95
|
static const auto clazz = javaClassStatic();
|
|
99
96
|
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
100
97
|
return create(
|
|
101
98
|
clazz,
|
|
102
99
|
value.title.has_value() ? jni::make_jstring(value.title.value()) : nullptr,
|
|
103
|
-
value.subtitle.has_value() ? jni::make_jstring(value.subtitle.value()) : nullptr,
|
|
104
100
|
value.style.has_value() ? JSectionStyle::fromCpp(value.style.value()) : nullptr,
|
|
105
101
|
value.path.has_value() ? jni::make_jstring(value.path.value()) : nullptr,
|
|
106
102
|
[&]() {
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// Func_std__shared_ptr_Promise_std__string__.kt
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
package com.margelo.nitro.audiobrowser
|
|
9
|
+
|
|
10
|
+
import androidx.annotation.Keep
|
|
11
|
+
import com.facebook.jni.HybridData
|
|
12
|
+
import com.facebook.proguard.annotations.DoNotStrip
|
|
13
|
+
import dalvik.annotation.optimization.FastNative
|
|
14
|
+
import com.margelo.nitro.core.Promise
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Represents the JavaScript callback `() => std::shared_ptr<Promise<std::string>>`.
|
|
18
|
+
* This can be either implemented in C++ (in which case it might be a callback coming from JS),
|
|
19
|
+
* or in Kotlin/Java (in which case it is a native callback).
|
|
20
|
+
*/
|
|
21
|
+
@DoNotStrip
|
|
22
|
+
@Keep
|
|
23
|
+
@Suppress("ClassName", "RedundantUnitReturnType")
|
|
24
|
+
fun interface Func_std__shared_ptr_Promise_std__string__: () -> Promise<String> {
|
|
25
|
+
/**
|
|
26
|
+
* Call the given JS callback.
|
|
27
|
+
* @throws Throwable if the JS function itself throws an error, or if the JS function/runtime has already been deleted.
|
|
28
|
+
*/
|
|
29
|
+
@DoNotStrip
|
|
30
|
+
@Keep
|
|
31
|
+
override fun invoke(): Promise<String>
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Represents the JavaScript callback `() => std::shared_ptr<Promise<std::string>>`.
|
|
36
|
+
* This is implemented in C++, via a `std::function<...>`.
|
|
37
|
+
* The callback might be coming from JS.
|
|
38
|
+
*/
|
|
39
|
+
@DoNotStrip
|
|
40
|
+
@Keep
|
|
41
|
+
@Suppress(
|
|
42
|
+
"KotlinJniMissingFunction", "unused",
|
|
43
|
+
"RedundantSuppression", "RedundantUnitReturnType", "FunctionName",
|
|
44
|
+
"ConvertSecondaryConstructorToPrimary", "ClassName", "LocalVariableName",
|
|
45
|
+
)
|
|
46
|
+
class Func_std__shared_ptr_Promise_std__string___cxx: Func_std__shared_ptr_Promise_std__string__ {
|
|
47
|
+
@DoNotStrip
|
|
48
|
+
@Keep
|
|
49
|
+
private val mHybridData: HybridData
|
|
50
|
+
|
|
51
|
+
@DoNotStrip
|
|
52
|
+
@Keep
|
|
53
|
+
private constructor(hybridData: HybridData) {
|
|
54
|
+
mHybridData = hybridData
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@DoNotStrip
|
|
58
|
+
@Keep
|
|
59
|
+
override fun invoke(): Promise<String>
|
|
60
|
+
= invoke_cxx()
|
|
61
|
+
|
|
62
|
+
@FastNative
|
|
63
|
+
private external fun invoke_cxx(): Promise<String>
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Represents the JavaScript callback `() => std::shared_ptr<Promise<std::string>>`.
|
|
68
|
+
* This is implemented in Java/Kotlin, via a `() -> Promise<String>`.
|
|
69
|
+
* The callback is always coming from native.
|
|
70
|
+
*/
|
|
71
|
+
@DoNotStrip
|
|
72
|
+
@Keep
|
|
73
|
+
@Suppress("ClassName", "RedundantUnitReturnType", "unused")
|
|
74
|
+
class Func_std__shared_ptr_Promise_std__string___java(private val function: () -> Promise<String>): Func_std__shared_ptr_Promise_std__string__ {
|
|
75
|
+
@DoNotStrip
|
|
76
|
+
@Keep
|
|
77
|
+
override fun invoke(): Promise<String> {
|
|
78
|
+
return this.function()
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -55,6 +55,9 @@ data class NativeBrowserConfiguration(
|
|
|
55
55
|
val androidControllerOfflineError: Boolean?,
|
|
56
56
|
@DoNotStrip
|
|
57
57
|
@Keep
|
|
58
|
+
val viewMoreTitle: Func_std__shared_ptr_Promise_std__string__?,
|
|
59
|
+
@DoNotStrip
|
|
60
|
+
@Keep
|
|
58
61
|
val carPlayLoadingTitle: String?,
|
|
59
62
|
@DoNotStrip
|
|
60
63
|
@Keep
|
|
@@ -66,8 +69,8 @@ data class NativeBrowserConfiguration(
|
|
|
66
69
|
/**
|
|
67
70
|
* Create a new instance of NativeBrowserConfiguration from Kotlin
|
|
68
71
|
*/
|
|
69
|
-
constructor(path: String?, request: TransformableRequestConfig?, requestResolver: (() -> Promise<Promise<TransformableRequestConfig>>)?, browse: TransformableRequestConfig?, browseResolver: (() -> Promise<Promise<TransformableRequestConfig>>)?, media: MediaRequestConfig?, artwork: ArtworkRequestConfig?, nowPlayingArtwork: ArtworkRequestConfig?, routes: Array<NativeRouteEntry>?, singleTrack: Boolean?, handleTrackLoad: ((event: TrackLoadEvent) -> Promise<Promise<Unit>>)?, androidControllerOfflineError: Boolean?, carPlayLoadingTitle: String?, resolveAlbumPath: ((track: Track) -> Promise<String?>)?, formatNavigationError: ((params: FormatNavigationErrorParams) -> Promise<FormattedNavigationError?>)?):
|
|
70
|
-
this(path, request, requestResolver?.let { Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig_____java(it) }, browse, browseResolver?.let { Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig_____java(it) }, media, artwork, nowPlayingArtwork, routes, singleTrack, handleTrackLoad?.let { Func_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent_java(it) }, androidControllerOfflineError, carPlayLoadingTitle, resolveAlbumPath?.let { Func_std__shared_ptr_Promise_std__optional_std__string____Track_java(it) }, formatNavigationError?.let { Func_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams_java(it) })
|
|
72
|
+
constructor(path: String?, request: TransformableRequestConfig?, requestResolver: (() -> Promise<Promise<TransformableRequestConfig>>)?, browse: TransformableRequestConfig?, browseResolver: (() -> Promise<Promise<TransformableRequestConfig>>)?, media: MediaRequestConfig?, artwork: ArtworkRequestConfig?, nowPlayingArtwork: ArtworkRequestConfig?, routes: Array<NativeRouteEntry>?, singleTrack: Boolean?, handleTrackLoad: ((event: TrackLoadEvent) -> Promise<Promise<Unit>>)?, androidControllerOfflineError: Boolean?, viewMoreTitle: (() -> Promise<String>)?, carPlayLoadingTitle: String?, resolveAlbumPath: ((track: Track) -> Promise<String?>)?, formatNavigationError: ((params: FormatNavigationErrorParams) -> Promise<FormattedNavigationError?>)?):
|
|
73
|
+
this(path, request, requestResolver?.let { Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig_____java(it) }, browse, browseResolver?.let { Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig_____java(it) }, media, artwork, nowPlayingArtwork, routes, singleTrack, handleTrackLoad?.let { Func_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent_java(it) }, androidControllerOfflineError, viewMoreTitle?.let { Func_std__shared_ptr_Promise_std__string___java(it) }, carPlayLoadingTitle, resolveAlbumPath?.let { Func_std__shared_ptr_Promise_std__optional_std__string____Track_java(it) }, formatNavigationError?.let { Func_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams_java(it) })
|
|
71
74
|
|
|
72
75
|
companion object {
|
|
73
76
|
/**
|
|
@@ -77,8 +80,8 @@ data class NativeBrowserConfiguration(
|
|
|
77
80
|
@Keep
|
|
78
81
|
@Suppress("unused")
|
|
79
82
|
@JvmStatic
|
|
80
|
-
private fun fromCpp(path: String?, request: TransformableRequestConfig?, requestResolver: Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____?, browse: TransformableRequestConfig?, browseResolver: Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____?, media: MediaRequestConfig?, artwork: ArtworkRequestConfig?, nowPlayingArtwork: ArtworkRequestConfig?, routes: Array<NativeRouteEntry>?, singleTrack: Boolean?, handleTrackLoad: Func_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent?, androidControllerOfflineError: Boolean?, carPlayLoadingTitle: String?, resolveAlbumPath: Func_std__shared_ptr_Promise_std__optional_std__string____Track?, formatNavigationError: Func_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams?): NativeBrowserConfiguration {
|
|
81
|
-
return NativeBrowserConfiguration(path, request, requestResolver, browse, browseResolver, media, artwork, nowPlayingArtwork, routes, singleTrack, handleTrackLoad, androidControllerOfflineError, carPlayLoadingTitle, resolveAlbumPath, formatNavigationError)
|
|
83
|
+
private fun fromCpp(path: String?, request: TransformableRequestConfig?, requestResolver: Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____?, browse: TransformableRequestConfig?, browseResolver: Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____?, media: MediaRequestConfig?, artwork: ArtworkRequestConfig?, nowPlayingArtwork: ArtworkRequestConfig?, routes: Array<NativeRouteEntry>?, singleTrack: Boolean?, handleTrackLoad: Func_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent?, androidControllerOfflineError: Boolean?, viewMoreTitle: Func_std__shared_ptr_Promise_std__string__?, carPlayLoadingTitle: String?, resolveAlbumPath: Func_std__shared_ptr_Promise_std__optional_std__string____Track?, formatNavigationError: Func_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams?): NativeBrowserConfiguration {
|
|
84
|
+
return NativeBrowserConfiguration(path, request, requestResolver, browse, browseResolver, media, artwork, nowPlayingArtwork, routes, singleTrack, handleTrackLoad, androidControllerOfflineError, viewMoreTitle, carPlayLoadingTitle, resolveAlbumPath, formatNavigationError)
|
|
82
85
|
}
|
|
83
86
|
}
|
|
84
87
|
}
|
|
@@ -22,9 +22,6 @@ data class Section(
|
|
|
22
22
|
val title: String?,
|
|
23
23
|
@DoNotStrip
|
|
24
24
|
@Keep
|
|
25
|
-
val subtitle: String?,
|
|
26
|
-
@DoNotStrip
|
|
27
|
-
@Keep
|
|
28
25
|
val style: SectionStyle?,
|
|
29
26
|
@DoNotStrip
|
|
30
27
|
@Keep
|
|
@@ -43,8 +40,8 @@ data class Section(
|
|
|
43
40
|
@Keep
|
|
44
41
|
@Suppress("unused")
|
|
45
42
|
@JvmStatic
|
|
46
|
-
private fun fromCpp(title: String?,
|
|
47
|
-
return Section(title,
|
|
43
|
+
private fun fromCpp(title: String?, style: SectionStyle?, path: String?, children: Array<Track>): Section {
|
|
44
|
+
return Section(title, style, path, children)
|
|
48
45
|
}
|
|
49
46
|
}
|
|
50
47
|
}
|
|
@@ -224,6 +224,15 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
|
|
|
224
224
|
};
|
|
225
225
|
}
|
|
226
226
|
|
|
227
|
+
// pragma MARK: std::function<std::shared_ptr<Promise<std::string>>()>
|
|
228
|
+
Func_std__shared_ptr_Promise_std__string__ create_Func_std__shared_ptr_Promise_std__string__(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
229
|
+
auto swiftClosure = AudioBrowser::Func_std__shared_ptr_Promise_std__string__::fromUnsafe(swiftClosureWrapper);
|
|
230
|
+
return [swiftClosure = std::move(swiftClosure)]() mutable -> std::shared_ptr<Promise<std::string>> {
|
|
231
|
+
auto __result = swiftClosure.call();
|
|
232
|
+
return __result;
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
|
|
227
236
|
// pragma MARK: std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>
|
|
228
237
|
Func_std__shared_ptr_Promise_std__optional_std__string____Track create_Func_std__shared_ptr_Promise_std__optional_std__string____Track(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
229
238
|
auto swiftClosure = AudioBrowser::Func_std__shared_ptr_Promise_std__optional_std__string____Track::fromUnsafe(swiftClosureWrapper);
|
|
@@ -1736,6 +1736,56 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
|
|
|
1736
1736
|
return Func_void_Wrapper(std::move(value));
|
|
1737
1737
|
}
|
|
1738
1738
|
|
|
1739
|
+
// pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>
|
|
1740
|
+
/**
|
|
1741
|
+
* Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>`.
|
|
1742
|
+
*/
|
|
1743
|
+
using std__optional_std__function_std__shared_ptr_Promise_std__string______ = std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>;
|
|
1744
|
+
inline std::optional<std::function<std::shared_ptr<Promise<std::string>>()>> create_std__optional_std__function_std__shared_ptr_Promise_std__string______(const std::function<std::shared_ptr<Promise<std::string>>()>& value) noexcept {
|
|
1745
|
+
return std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>(value);
|
|
1746
|
+
}
|
|
1747
|
+
inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__string______(const std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>& optional) noexcept {
|
|
1748
|
+
return optional.has_value();
|
|
1749
|
+
}
|
|
1750
|
+
inline std::function<std::shared_ptr<Promise<std::string>>()> get_std__optional_std__function_std__shared_ptr_Promise_std__string______(const std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>& optional) noexcept {
|
|
1751
|
+
return optional.value();
|
|
1752
|
+
}
|
|
1753
|
+
|
|
1754
|
+
// pragma MARK: std::function<std::shared_ptr<Promise<std::string>>()>
|
|
1755
|
+
/**
|
|
1756
|
+
* Specialized version of `std::function<std::shared_ptr<Promise<std::string>>()>`.
|
|
1757
|
+
*/
|
|
1758
|
+
using Func_std__shared_ptr_Promise_std__string__ = std::function<std::shared_ptr<Promise<std::string>>()>;
|
|
1759
|
+
/**
|
|
1760
|
+
* Wrapper class for a `std::function<std::shared_ptr<Promise<std::string>>()>`, this can be used from Swift.
|
|
1761
|
+
*/
|
|
1762
|
+
class Func_std__shared_ptr_Promise_std__string___Wrapper final {
|
|
1763
|
+
public:
|
|
1764
|
+
explicit Func_std__shared_ptr_Promise_std__string___Wrapper(std::function<std::shared_ptr<Promise<std::string>>()>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<std::string>>()>>(std::move(func))) {}
|
|
1765
|
+
inline std::shared_ptr<Promise<std::string>> call() const noexcept {
|
|
1766
|
+
auto __result = _function->operator()();
|
|
1767
|
+
return __result;
|
|
1768
|
+
}
|
|
1769
|
+
private:
|
|
1770
|
+
std::unique_ptr<std::function<std::shared_ptr<Promise<std::string>>()>> _function;
|
|
1771
|
+
} SWIFT_NONCOPYABLE;
|
|
1772
|
+
Func_std__shared_ptr_Promise_std__string__ create_Func_std__shared_ptr_Promise_std__string__(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
1773
|
+
inline Func_std__shared_ptr_Promise_std__string___Wrapper wrap_Func_std__shared_ptr_Promise_std__string__(Func_std__shared_ptr_Promise_std__string__ value) noexcept {
|
|
1774
|
+
return Func_std__shared_ptr_Promise_std__string___Wrapper(std::move(value));
|
|
1775
|
+
}
|
|
1776
|
+
|
|
1777
|
+
// pragma MARK: std::shared_ptr<Promise<std::string>>
|
|
1778
|
+
/**
|
|
1779
|
+
* Specialized version of `std::shared_ptr<Promise<std::string>>`.
|
|
1780
|
+
*/
|
|
1781
|
+
using std__shared_ptr_Promise_std__string__ = std::shared_ptr<Promise<std::string>>;
|
|
1782
|
+
inline std::shared_ptr<Promise<std::string>> create_std__shared_ptr_Promise_std__string__() noexcept {
|
|
1783
|
+
return Promise<std::string>::create();
|
|
1784
|
+
}
|
|
1785
|
+
inline PromiseHolder<std::string> wrap_std__shared_ptr_Promise_std__string__(std::shared_ptr<Promise<std::string>> promise) noexcept {
|
|
1786
|
+
return PromiseHolder<std::string>(std::move(promise));
|
|
1787
|
+
}
|
|
1788
|
+
|
|
1739
1789
|
// pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>
|
|
1740
1790
|
/**
|
|
1741
1791
|
* Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& / * track * /)>>`.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// Func_std__shared_ptr_Promise_std__string__.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Wraps a Swift `() -> Promise<String>` as a class.
|
|
12
|
+
* This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
|
|
13
|
+
*/
|
|
14
|
+
public final class Func_std__shared_ptr_Promise_std__string__ {
|
|
15
|
+
public typealias bridge = margelo.nitro.audiobrowser.bridge.swift
|
|
16
|
+
|
|
17
|
+
private let closure: () -> Promise<String>
|
|
18
|
+
|
|
19
|
+
public init(_ closure: @escaping () -> Promise<String>) {
|
|
20
|
+
self.closure = closure
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@inline(__always)
|
|
24
|
+
public func call() -> bridge.std__shared_ptr_Promise_std__string__ {
|
|
25
|
+
let __result: Promise<String> = self.closure()
|
|
26
|
+
return { () -> bridge.std__shared_ptr_Promise_std__string__ in
|
|
27
|
+
let __promise = bridge.create_std__shared_ptr_Promise_std__string__()
|
|
28
|
+
let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__string__(__promise)
|
|
29
|
+
__result
|
|
30
|
+
.then({ __result in __promiseHolder.resolve(std.string(__result)) })
|
|
31
|
+
.catch({ __error in __promiseHolder.reject(__error.toCpp()) })
|
|
32
|
+
return __promise
|
|
33
|
+
}()
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Casts this instance to a retained unsafe raw pointer.
|
|
38
|
+
* This acquires one additional strong reference on the object!
|
|
39
|
+
*/
|
|
40
|
+
@inline(__always)
|
|
41
|
+
public func toUnsafe() -> UnsafeMutableRawPointer {
|
|
42
|
+
return Unmanaged.passRetained(self).toOpaque()
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Casts an unsafe pointer to a `Func_std__shared_ptr_Promise_std__string__`.
|
|
47
|
+
* The pointer has to be a retained opaque `Unmanaged<Func_std__shared_ptr_Promise_std__string__>`.
|
|
48
|
+
* This removes one strong reference from the object!
|
|
49
|
+
*/
|
|
50
|
+
@inline(__always)
|
|
51
|
+
public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_std__shared_ptr_Promise_std__string__ {
|
|
52
|
+
return Unmanaged<Func_std__shared_ptr_Promise_std__string__>.fromOpaque(pointer).takeRetainedValue()
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -18,7 +18,7 @@ public extension NativeBrowserConfiguration {
|
|
|
18
18
|
/**
|
|
19
19
|
* Create a new instance of `NativeBrowserConfiguration`.
|
|
20
20
|
*/
|
|
21
|
-
init(path: String?, request: TransformableRequestConfig?, requestResolver: (() -> Promise<Promise<TransformableRequestConfig>>)?, browse: TransformableRequestConfig?, browseResolver: (() -> Promise<Promise<TransformableRequestConfig>>)?, media: MediaRequestConfig?, artwork: ArtworkRequestConfig?, nowPlayingArtwork: ArtworkRequestConfig?, routes: [NativeRouteEntry]?, singleTrack: Bool?, handleTrackLoad: ((_ event: TrackLoadEvent) -> Promise<Promise<Void>>)?, androidControllerOfflineError: Bool?, carPlayLoadingTitle: String?, resolveAlbumPath: ((_ track: Track) -> Promise<String?>)?, formatNavigationError: ((_ params: FormatNavigationErrorParams) -> Promise<FormattedNavigationError?>)?) {
|
|
21
|
+
init(path: String?, request: TransformableRequestConfig?, requestResolver: (() -> Promise<Promise<TransformableRequestConfig>>)?, browse: TransformableRequestConfig?, browseResolver: (() -> Promise<Promise<TransformableRequestConfig>>)?, media: MediaRequestConfig?, artwork: ArtworkRequestConfig?, nowPlayingArtwork: ArtworkRequestConfig?, routes: [NativeRouteEntry]?, singleTrack: Bool?, handleTrackLoad: ((_ event: TrackLoadEvent) -> Promise<Promise<Void>>)?, androidControllerOfflineError: Bool?, viewMoreTitle: (() -> Promise<String>)?, carPlayLoadingTitle: String?, resolveAlbumPath: ((_ track: Track) -> Promise<String?>)?, formatNavigationError: ((_ params: FormatNavigationErrorParams) -> Promise<FormattedNavigationError?>)?) {
|
|
22
22
|
self.init({ () -> bridge.std__optional_std__string_ in
|
|
23
23
|
if let __unwrappedValue = path {
|
|
24
24
|
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
@@ -106,6 +106,15 @@ public extension NativeBrowserConfiguration {
|
|
|
106
106
|
} else {
|
|
107
107
|
return .init()
|
|
108
108
|
}
|
|
109
|
+
}(), { () -> bridge.std__optional_std__function_std__shared_ptr_Promise_std__string______ in
|
|
110
|
+
if let __unwrappedValue = viewMoreTitle {
|
|
111
|
+
return bridge.create_std__optional_std__function_std__shared_ptr_Promise_std__string______({ () -> bridge.Func_std__shared_ptr_Promise_std__string__ in
|
|
112
|
+
let __closureWrapper = Func_std__shared_ptr_Promise_std__string__(__unwrappedValue)
|
|
113
|
+
return bridge.create_Func_std__shared_ptr_Promise_std__string__(__closureWrapper.toUnsafe())
|
|
114
|
+
}())
|
|
115
|
+
} else {
|
|
116
|
+
return .init()
|
|
117
|
+
}
|
|
109
118
|
}(), { () -> bridge.std__optional_std__string_ in
|
|
110
119
|
if let __unwrappedValue = carPlayLoadingTitle {
|
|
111
120
|
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
@@ -320,6 +329,44 @@ public extension NativeBrowserConfiguration {
|
|
|
320
329
|
}()
|
|
321
330
|
}
|
|
322
331
|
|
|
332
|
+
@inline(__always)
|
|
333
|
+
var viewMoreTitle: (() -> Promise<String>)? {
|
|
334
|
+
return { () -> (() -> Promise<String>)? in
|
|
335
|
+
if bridge.has_value_std__optional_std__function_std__shared_ptr_Promise_std__string______(self.__viewMoreTitle) {
|
|
336
|
+
let __unwrapped = bridge.get_std__optional_std__function_std__shared_ptr_Promise_std__string______(self.__viewMoreTitle)
|
|
337
|
+
return { () -> () -> Promise<String> in
|
|
338
|
+
let __wrappedFunction = bridge.wrap_Func_std__shared_ptr_Promise_std__string__(__unwrapped)
|
|
339
|
+
return { () -> Promise<String> in
|
|
340
|
+
let __result = __wrappedFunction.call()
|
|
341
|
+
return { () -> Promise<String> in
|
|
342
|
+
let __promise = Promise<String>()
|
|
343
|
+
let __resolver = { (__result: String) in
|
|
344
|
+
__promise.resolve(withResult: __result)
|
|
345
|
+
}
|
|
346
|
+
let __rejecter = { (__error: Error) in
|
|
347
|
+
__promise.reject(withError: __error)
|
|
348
|
+
}
|
|
349
|
+
let __resolverCpp = { () -> bridge.Func_void_std__string in
|
|
350
|
+
let __closureWrapper = Func_void_std__string(__resolver)
|
|
351
|
+
return bridge.create_Func_void_std__string(__closureWrapper.toUnsafe())
|
|
352
|
+
}()
|
|
353
|
+
let __rejecterCpp = { () -> bridge.Func_void_std__exception_ptr in
|
|
354
|
+
let __closureWrapper = Func_void_std__exception_ptr(__rejecter)
|
|
355
|
+
return bridge.create_Func_void_std__exception_ptr(__closureWrapper.toUnsafe())
|
|
356
|
+
}()
|
|
357
|
+
let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__string__(__result)
|
|
358
|
+
__promiseHolder.addOnResolvedListener(__resolverCpp)
|
|
359
|
+
__promiseHolder.addOnRejectedListener(__rejecterCpp)
|
|
360
|
+
return __promise
|
|
361
|
+
}()
|
|
362
|
+
}
|
|
363
|
+
}()
|
|
364
|
+
} else {
|
|
365
|
+
return nil
|
|
366
|
+
}
|
|
367
|
+
}()
|
|
368
|
+
}
|
|
369
|
+
|
|
323
370
|
@inline(__always)
|
|
324
371
|
var carPlayLoadingTitle: String? {
|
|
325
372
|
return { () -> String? in
|