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.
Files changed (48) hide show
  1. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +3 -0
  2. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +44 -0
  3. package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +0 -2
  4. package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +1 -1
  5. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +21 -22
  6. package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +8 -5
  7. package/android/src/main/res/values/strings.xml +37 -2
  8. package/android/src/test/java/com/audiobrowser/TestFixtures.kt +1 -2
  9. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerLayerResolutionTest.kt +9 -0
  10. package/android/src/test/java/com/audiobrowser/util/MediaExtrasBuilderTest.kt +2 -1
  11. package/ios/Browser/JsonModels.swift +0 -5
  12. package/ios/Extension/Section+Copying.swift +1 -3
  13. package/ios/HybridAudioBrowser.swift +2 -1
  14. package/ios/Model/NitroTypeStubs.swift +0 -1
  15. package/ios/Tests/ResolvedTrackCopyingTests.swift +2 -2
  16. package/lib/commonjs/features/browser-config.js +1 -0
  17. package/lib/commonjs/features/browser-config.js.map +1 -1
  18. package/lib/module/features/browser-config.js +1 -0
  19. package/lib/module/features/browser-config.js.map +1 -1
  20. package/lib/typescript/src/features/browser-config.d.ts.map +1 -1
  21. package/lib/typescript/src/types/browser-native.d.ts +2 -1
  22. package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
  23. package/lib/typescript/src/types/browser-nodes.d.ts +14 -9
  24. package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
  25. package/lib/typescript/src/types/browser.d.ts +36 -0
  26. package/lib/typescript/src/types/browser.d.ts.map +1 -1
  27. package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +2 -0
  28. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__string__.hpp +102 -0
  29. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +1 -0
  30. package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +14 -1
  31. package/nitrogen/generated/android/c++/JSection.hpp +1 -5
  32. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__string__.kt +80 -0
  33. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +7 -4
  34. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Section.kt +2 -5
  35. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +9 -0
  36. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +50 -0
  37. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__string__.swift +54 -0
  38. package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +48 -1
  39. package/nitrogen/generated/ios/swift/Section.swift +1 -19
  40. package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +6 -2
  41. package/nitrogen/generated/shared/c++/Section.hpp +1 -5
  42. package/package.json +1 -1
  43. package/src/features/browser-config.ts +1 -0
  44. package/src/types/browser-native.ts +5 -1
  45. package/src/types/browser-nodes.ts +14 -9
  46. package/src/types/browser.ts +38 -0
  47. package/website/guide/android-auto.md +1 -1
  48. 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":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE9D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,KAAK,EAAE,KAAK,CAAA;IACZ,mCAAmC;IACnC,KAAK,EAAE,KAAK,EAAE,CAAA;IACd,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAE9E,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACrC,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,WAAW,CAAA;AAEtD,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,0BAA0B,KAC9B,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,UAAU,GACV,SAAS,GACT,SAAS,GACT,WAAW,GACX,MAAM,GACN,OAAO,GACP,aAAa,GACb,OAAO,GACP,SAAS,GACT,iBAAiB,CAAA;AAErB;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,SAAS,CAAA;AAE7C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;;;;OAUG;IACH,SAAS,EAAE,cAAc,CAAA;CAC1B;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;AAO7E,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,aAAa,EACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACjC,OAAO,CAAC,aAAa,CAAC,CAAA;AAC3B,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,aAAa,EACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACjC,aAAa,CAAA;AAElB,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,KAAK,GACL,QAAQ,GACR,OAAO,GACP,MAAM,GACN,SAAS,CAAA;AAEb,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,OAAO,EAAE,aAAa,CAAA;IACtB,uEAAuE;IACvE,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,MAAM,6BAA6B,GAAG,CAC1C,MAAM,EAAE,oBAAoB,KACzB,OAAO,CAAC,aAAa,CAAC,CAAA;AAC3B,MAAM,MAAM,iCAAiC,GAAG,CAC9C,MAAM,EAAE,oBAAoB,KACzB,aAAa,CAAA;AAElB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,0BAA2B,SAAQ,aAAa;IAC/D,mFAAmF;IACnF,SAAS,CAAC,EAAE,wBAAwB,CAAA;IACpC,qGAAqG;IACrG,aAAa,CAAC,EAAE,4BAA4B,CAAA;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAChC,0BAA0B,GAC1B,OAAO,CAAC,0BAA0B,CAAC,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAEH;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,WAAW,kBAAmB,SAAQ,0BAA0B;IACpE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,yFAAyF;IACzF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IAClD,2GAA2G;IAC3G,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,aAAa,CAAA;CAC9C;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,yFAAyF;IACzF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IAClD,2GAA2G;IAC3G,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,aAAa,CAAA;IAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,6EAA6E;IAC7E,SAAS,CAAC,EAAE,6BAA6B,CAAA;IACzC,+FAA+F;IAC/F,aAAa,CAAC,EAAE,iCAAiC,CAAA;IAEjD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,qBAAqB,GACrB,0BAA0B,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG,qBAAqB,GAAG,0BAA0B,CAAA;AAE5E;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;AACjE;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,EAAE,GACP,kBAAkB,GAClB,0BAA0B,CAAA;AAE9B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GAAG,oBAAoB,GAAG,0BAA0B,CAAA;AAE5E,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAIzB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,0BAA0B,GAAG,qBAAqB,CAAA;IAI5D;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,EAAE,0BAA0B,GAAG,qBAAqB,CAAA;IAE3D;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAE9B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,iBAAiB,CAAC,EAAE,oBAAoB,CAAA;IAIxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAA;IAErB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,UAAU,CAAA;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC,CAAA;IAIpD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,uBAAuB,CAAA;IAEzC;;;;;;;;;;;OAWG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAA;IAEvC;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CAAC,EAAE,wBAAwB,CAAA;IAE3C;;;;;;;;;;;;;;;;;;OAkBG;IACH,qBAAqB,CAAC,EAAE,6BAA6B,CAAA;CACtD,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,GAC/B,SAAS,GACT,QAAQ,GACR,UAAU,GACV,eAAe,CAAA;AAEnB;;;;;;;;GAQG;AACH,MAAM,MAAM,+BAA+B,GAAG,SAAS,GAAG,UAAU,CAAA;AAEpE;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,KAAK,GAAG,QAAQ,CAAA;AAE5D;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;;;;;OASG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,yCAAyC;IACzC,KAAK,EAAE,eAAe,CAAA;IACtB,mEAAmE;IACnE,gBAAgB,EAAE,wBAAwB,CAAA;IAC1C,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAC1C,MAAM,EAAE,2BAA2B,KAChC,wBAAwB,GAAG,SAAS,CAAA;AAEzC;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAAA"}
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<jni::JString>, jni::alias_ref<JSectionStyle>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JArrayClass<JTrack>>);
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?, subtitle: String?, style: SectionStyle?, path: String?, children: Array<Track>): Section {
47
- return Section(title, subtitle, style, path, children)
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