react-native-audio-browser 0.2.0-next.4 → 0.2.0-next.6

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 (58) hide show
  1. package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +11 -11
  2. package/android/src/main/java/com/audiobrowser/player/CapabilityControls.kt +111 -58
  3. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +9 -5
  4. package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +218 -252
  5. package/android/src/main/java/com/audiobrowser/player/Player.kt +19 -8
  6. package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +100 -56
  7. package/android/src/test/java/com/audiobrowser/player/MediaSessionSlotMappingTest.kt +45 -0
  8. package/lib/commonjs/features/player/options.js +45 -15
  9. package/lib/commonjs/features/player/options.js.map +1 -1
  10. package/lib/commonjs/features/player/setup.js +13 -6
  11. package/lib/commonjs/features/player/setup.js.map +1 -1
  12. package/lib/module/features/player/options.js +45 -15
  13. package/lib/module/features/player/options.js.map +1 -1
  14. package/lib/module/features/player/setup.js +13 -6
  15. package/lib/module/features/player/setup.js.map +1 -1
  16. package/lib/typescript/src/features/player/options.d.ts +86 -36
  17. package/lib/typescript/src/features/player/options.d.ts.map +1 -1
  18. package/lib/typescript/src/features/player/setup.d.ts +10 -3
  19. package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
  20. package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +1 -1
  21. package/nitrogen/generated/android/c++/JAndroidOptions.hpp +10 -10
  22. package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +5 -5
  23. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +9 -9
  24. package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +5 -5
  25. package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +5 -5
  26. package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +10 -10
  27. package/nitrogen/generated/android/c++/JOptions.hpp +5 -5
  28. package/nitrogen/generated/android/c++/{JNotificationButton.hpp → JRemoteButton.hpp} +19 -19
  29. package/nitrogen/generated/android/c++/JRemoteButtonLayout.hpp +86 -0
  30. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.cpp +26 -0
  31. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.hpp +75 -0
  32. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +3 -3
  33. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +3 -3
  34. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{NotificationButton.kt → RemoteButton.kt} +3 -3
  35. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteButtonLayout.kt +44 -0
  36. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Variant_NullType_NotificationButtonLayout.kt → Variant_NullType_RemoteButtonLayout.kt} +9 -9
  37. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +36 -51
  38. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +6 -6
  39. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +6 -6
  40. package/nitrogen/generated/ios/swift/AndroidOptions.swift +12 -12
  41. package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +12 -12
  42. package/nitrogen/generated/ios/swift/{NotificationButton.swift → RemoteButton.swift} +6 -6
  43. package/nitrogen/generated/ios/swift/RemoteButtonLayout.swift +57 -0
  44. package/nitrogen/generated/ios/swift/{Variant_NullType_NotificationButtonLayout.swift → Variant_NullType_RemoteButtonLayout.swift} +3 -3
  45. package/nitrogen/generated/shared/c++/AndroidOptions.hpp +8 -8
  46. package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +8 -8
  47. package/nitrogen/generated/shared/c++/{NotificationButton.hpp → RemoteButton.hpp} +19 -19
  48. package/nitrogen/generated/shared/c++/RemoteButtonLayout.hpp +94 -0
  49. package/package.json +1 -1
  50. package/src/features/player/options.ts +97 -37
  51. package/src/features/player/setup.test.ts +12 -4
  52. package/src/features/player/setup.ts +14 -7
  53. package/nitrogen/generated/android/c++/JNotificationButtonLayout.hpp +0 -94
  54. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.cpp +0 -26
  55. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.hpp +0 -75
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButtonLayout.kt +0 -50
  57. package/nitrogen/generated/ios/swift/NotificationButtonLayout.swift +0 -92
  58. package/nitrogen/generated/shared/c++/NotificationButtonLayout.hpp +0 -102
@@ -132,10 +132,10 @@ namespace margelo::nitro::audiobrowser { struct Options; }
132
132
  namespace margelo::nitro::audiobrowser { struct AndroidOptions; }
133
133
  // Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
134
134
  namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
135
- // Forward declaration of `NotificationButtonLayout` to properly resolve imports.
136
- namespace margelo::nitro::audiobrowser { struct NotificationButtonLayout; }
137
- // Forward declaration of `NotificationButton` to properly resolve imports.
138
- namespace margelo::nitro::audiobrowser { enum class NotificationButton; }
135
+ // Forward declaration of `RemoteButtonLayout` to properly resolve imports.
136
+ namespace margelo::nitro::audiobrowser { struct RemoteButtonLayout; }
137
+ // Forward declaration of `RemoteButton` to properly resolve imports.
138
+ namespace margelo::nitro::audiobrowser { enum class RemoteButton; }
139
139
  // Forward declaration of `PlayerCapabilities` to properly resolve imports.
140
140
  namespace margelo::nitro::audiobrowser { struct PlayerCapabilities; }
141
141
  // Forward declaration of `FavoriteConfig` to properly resolve imports.
@@ -267,8 +267,8 @@ namespace margelo::nitro::audiobrowser { struct Progress; }
267
267
  #include "Options.hpp"
268
268
  #include "AndroidOptions.hpp"
269
269
  #include "AppKilledPlaybackBehavior.hpp"
270
- #include "NotificationButtonLayout.hpp"
271
- #include "NotificationButton.hpp"
270
+ #include "RemoteButtonLayout.hpp"
271
+ #include "RemoteButton.hpp"
272
272
  #include "PlayerCapabilities.hpp"
273
273
  #include "FavoriteConfig.hpp"
274
274
  #include "FavoritesMatchMode.hpp"
@@ -18,15 +18,15 @@ public extension AndroidOptions {
18
18
  /**
19
19
  * Create a new instance of `AndroidOptions`.
20
20
  */
21
- init(appKilledPlaybackBehavior: AppKilledPlaybackBehavior, skipSilence: Bool, notificationButtons: Variant_NullType_NotificationButtonLayout?) {
22
- self.init(appKilledPlaybackBehavior, skipSilence, { () -> bridge.std__optional_std__variant_nitro__NullType__NotificationButtonLayout__ in
23
- if let __unwrappedValue = notificationButtons {
24
- return bridge.create_std__optional_std__variant_nitro__NullType__NotificationButtonLayout__({ () -> bridge.std__variant_nitro__NullType__NotificationButtonLayout_ in
21
+ init(appKilledPlaybackBehavior: AppKilledPlaybackBehavior, skipSilence: Bool, remoteButtonLayout: Variant_NullType_RemoteButtonLayout?) {
22
+ self.init(appKilledPlaybackBehavior, skipSilence, { () -> bridge.std__optional_std__variant_nitro__NullType__RemoteButtonLayout__ in
23
+ if let __unwrappedValue = remoteButtonLayout {
24
+ return bridge.create_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__({ () -> bridge.std__variant_nitro__NullType__RemoteButtonLayout_ in
25
25
  switch __unwrappedValue {
26
26
  case .first(let __value):
27
- return bridge.create_std__variant_nitro__NullType__NotificationButtonLayout_(margelo.nitro.NullType.null)
27
+ return bridge.create_std__variant_nitro__NullType__RemoteButtonLayout_(margelo.nitro.NullType.null)
28
28
  case .second(let __value):
29
- return bridge.create_std__variant_nitro__NullType__NotificationButtonLayout_(__value)
29
+ return bridge.create_std__variant_nitro__NullType__RemoteButtonLayout_(__value)
30
30
  }
31
31
  }().variant)
32
32
  } else {
@@ -46,12 +46,12 @@ public extension AndroidOptions {
46
46
  }
47
47
 
48
48
  @inline(__always)
49
- var notificationButtons: Variant_NullType_NotificationButtonLayout? {
50
- return { () -> Variant_NullType_NotificationButtonLayout? in
51
- if bridge.has_value_std__optional_std__variant_nitro__NullType__NotificationButtonLayout__(self.__notificationButtons) {
52
- let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__NotificationButtonLayout__(self.__notificationButtons)
53
- return { () -> Variant_NullType_NotificationButtonLayout in
54
- let __variant = bridge.std__variant_nitro__NullType__NotificationButtonLayout_(__unwrapped)
49
+ var remoteButtonLayout: Variant_NullType_RemoteButtonLayout? {
50
+ return { () -> Variant_NullType_RemoteButtonLayout? in
51
+ if bridge.has_value_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__(self.__remoteButtonLayout) {
52
+ let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__(self.__remoteButtonLayout)
53
+ return { () -> Variant_NullType_RemoteButtonLayout in
54
+ let __variant = bridge.std__variant_nitro__NullType__RemoteButtonLayout_(__unwrapped)
55
55
  switch __variant.index() {
56
56
  case 0:
57
57
  let __actual = __variant.get_0()
@@ -18,7 +18,7 @@ public extension NitroAndroidUpdateOptions {
18
18
  /**
19
19
  * Create a new instance of `NitroAndroidUpdateOptions`.
20
20
  */
21
- init(appKilledPlaybackBehavior: AppKilledPlaybackBehavior?, skipSilence: Bool?, notificationButtons: Variant_NullType_NotificationButtonLayout?) {
21
+ init(appKilledPlaybackBehavior: AppKilledPlaybackBehavior?, skipSilence: Bool?, remoteButtonLayout: Variant_NullType_RemoteButtonLayout?) {
22
22
  self.init({ () -> bridge.std__optional_AppKilledPlaybackBehavior_ in
23
23
  if let __unwrappedValue = appKilledPlaybackBehavior {
24
24
  return bridge.create_std__optional_AppKilledPlaybackBehavior_(__unwrappedValue)
@@ -31,14 +31,14 @@ public extension NitroAndroidUpdateOptions {
31
31
  } else {
32
32
  return .init()
33
33
  }
34
- }(), { () -> bridge.std__optional_std__variant_nitro__NullType__NotificationButtonLayout__ in
35
- if let __unwrappedValue = notificationButtons {
36
- return bridge.create_std__optional_std__variant_nitro__NullType__NotificationButtonLayout__({ () -> bridge.std__variant_nitro__NullType__NotificationButtonLayout_ in
34
+ }(), { () -> bridge.std__optional_std__variant_nitro__NullType__RemoteButtonLayout__ in
35
+ if let __unwrappedValue = remoteButtonLayout {
36
+ return bridge.create_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__({ () -> bridge.std__variant_nitro__NullType__RemoteButtonLayout_ in
37
37
  switch __unwrappedValue {
38
38
  case .first(let __value):
39
- return bridge.create_std__variant_nitro__NullType__NotificationButtonLayout_(margelo.nitro.NullType.null)
39
+ return bridge.create_std__variant_nitro__NullType__RemoteButtonLayout_(margelo.nitro.NullType.null)
40
40
  case .second(let __value):
41
- return bridge.create_std__variant_nitro__NullType__NotificationButtonLayout_(__value)
41
+ return bridge.create_std__variant_nitro__NullType__RemoteButtonLayout_(__value)
42
42
  }
43
43
  }().variant)
44
44
  } else {
@@ -65,12 +65,12 @@ public extension NitroAndroidUpdateOptions {
65
65
  }
66
66
 
67
67
  @inline(__always)
68
- var notificationButtons: Variant_NullType_NotificationButtonLayout? {
69
- return { () -> Variant_NullType_NotificationButtonLayout? in
70
- if bridge.has_value_std__optional_std__variant_nitro__NullType__NotificationButtonLayout__(self.__notificationButtons) {
71
- let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__NotificationButtonLayout__(self.__notificationButtons)
72
- return { () -> Variant_NullType_NotificationButtonLayout in
73
- let __variant = bridge.std__variant_nitro__NullType__NotificationButtonLayout_(__unwrapped)
68
+ var remoteButtonLayout: Variant_NullType_RemoteButtonLayout? {
69
+ return { () -> Variant_NullType_RemoteButtonLayout? in
70
+ if bridge.has_value_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__(self.__remoteButtonLayout) {
71
+ let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__(self.__remoteButtonLayout)
72
+ return { () -> Variant_NullType_RemoteButtonLayout in
73
+ let __variant = bridge.std__variant_nitro__NullType__RemoteButtonLayout_(__unwrapped)
74
74
  switch __variant.index() {
75
75
  case 0:
76
76
  let __actual = __variant.get_0()
@@ -1,18 +1,18 @@
1
1
  ///
2
- /// NotificationButton.swift
2
+ /// RemoteButton.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  /**
9
- * Represents the JS union `NotificationButton`, backed by a C++ enum.
9
+ * Represents the JS union `RemoteButton`, backed by a C++ enum.
10
10
  */
11
- public typealias NotificationButton = margelo.nitro.audiobrowser.NotificationButton
11
+ public typealias RemoteButton = margelo.nitro.audiobrowser.RemoteButton
12
12
 
13
- public extension NotificationButton {
13
+ public extension RemoteButton {
14
14
  /**
15
- * Get a NotificationButton for the given String value, or
15
+ * Get a RemoteButton for the given String value, or
16
16
  * return `nil` if the given value was invalid/unknown.
17
17
  */
18
18
  init?(fromString string: String) {
@@ -33,7 +33,7 @@ public extension NotificationButton {
33
33
  }
34
34
 
35
35
  /**
36
- * Get the String value this NotificationButton represents.
36
+ * Get the String value this RemoteButton represents.
37
37
  */
38
38
  var stringValue: String {
39
39
  switch self {
@@ -0,0 +1,57 @@
1
+ ///
2
+ /// RemoteButtonLayout.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
+ * Represents an instance of `RemoteButtonLayout`, backed by a C++ struct.
12
+ */
13
+ public typealias RemoteButtonLayout = margelo.nitro.audiobrowser.RemoteButtonLayout
14
+
15
+ public extension RemoteButtonLayout {
16
+ private typealias bridge = margelo.nitro.audiobrowser.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `RemoteButtonLayout`.
20
+ */
21
+ init(back: RemoteButton?, forward: RemoteButton?, overflow: [RemoteButton]) {
22
+ self.init({ () -> bridge.std__optional_RemoteButton_ in
23
+ if let __unwrappedValue = back {
24
+ return bridge.create_std__optional_RemoteButton_(__unwrappedValue)
25
+ } else {
26
+ return .init()
27
+ }
28
+ }(), { () -> bridge.std__optional_RemoteButton_ in
29
+ if let __unwrappedValue = forward {
30
+ return bridge.create_std__optional_RemoteButton_(__unwrappedValue)
31
+ } else {
32
+ return .init()
33
+ }
34
+ }(), { () -> bridge.std__vector_RemoteButton_ in
35
+ var __vector = bridge.create_std__vector_RemoteButton_(overflow.count)
36
+ for __item in overflow {
37
+ __vector.push_back(__item)
38
+ }
39
+ return __vector
40
+ }())
41
+ }
42
+
43
+ @inline(__always)
44
+ var back: RemoteButton? {
45
+ return self.__back.value
46
+ }
47
+
48
+ @inline(__always)
49
+ var forward: RemoteButton? {
50
+ return self.__forward.value
51
+ }
52
+
53
+ @inline(__always)
54
+ var overflow: [RemoteButton] {
55
+ return self.__overflow.map({ __item in __item })
56
+ }
57
+ }
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// Variant_NullType_NotificationButtonLayout.swift
2
+ /// Variant_NullType_RemoteButtonLayout.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © Marc Rousavy @ Margelo
@@ -12,7 +12,7 @@ import NitroModules
12
12
  * JS type: `null | struct`
13
13
  */
14
14
  @frozen
15
- public indirect enum Variant_NullType_NotificationButtonLayout {
15
+ public indirect enum Variant_NullType_RemoteButtonLayout {
16
16
  case first(NullType)
17
- case second(NotificationButtonLayout)
17
+ case second(RemoteButtonLayout)
18
18
  }
@@ -30,12 +30,12 @@
30
30
 
31
31
  // Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
32
32
  namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
33
- // Forward declaration of `NotificationButtonLayout` to properly resolve imports.
34
- namespace margelo::nitro::audiobrowser { struct NotificationButtonLayout; }
33
+ // Forward declaration of `RemoteButtonLayout` to properly resolve imports.
34
+ namespace margelo::nitro::audiobrowser { struct RemoteButtonLayout; }
35
35
 
36
36
  #include "AppKilledPlaybackBehavior.hpp"
37
37
  #include <NitroModules/Null.hpp>
38
- #include "NotificationButtonLayout.hpp"
38
+ #include "RemoteButtonLayout.hpp"
39
39
  #include <variant>
40
40
  #include <optional>
41
41
 
@@ -48,11 +48,11 @@ namespace margelo::nitro::audiobrowser {
48
48
  public:
49
49
  AppKilledPlaybackBehavior appKilledPlaybackBehavior SWIFT_PRIVATE;
50
50
  bool skipSilence SWIFT_PRIVATE;
51
- std::optional<std::variant<nitro::NullType, NotificationButtonLayout>> notificationButtons SWIFT_PRIVATE;
51
+ std::optional<std::variant<nitro::NullType, RemoteButtonLayout>> remoteButtonLayout SWIFT_PRIVATE;
52
52
 
53
53
  public:
54
54
  AndroidOptions() = default;
55
- explicit AndroidOptions(AppKilledPlaybackBehavior appKilledPlaybackBehavior, bool skipSilence, std::optional<std::variant<nitro::NullType, NotificationButtonLayout>> notificationButtons): appKilledPlaybackBehavior(appKilledPlaybackBehavior), skipSilence(skipSilence), notificationButtons(notificationButtons) {}
55
+ explicit AndroidOptions(AppKilledPlaybackBehavior appKilledPlaybackBehavior, bool skipSilence, std::optional<std::variant<nitro::NullType, RemoteButtonLayout>> remoteButtonLayout): appKilledPlaybackBehavior(appKilledPlaybackBehavior), skipSilence(skipSilence), remoteButtonLayout(remoteButtonLayout) {}
56
56
 
57
57
  public:
58
58
  friend bool operator==(const AndroidOptions& lhs, const AndroidOptions& rhs) = default;
@@ -70,14 +70,14 @@ namespace margelo::nitro {
70
70
  return margelo::nitro::audiobrowser::AndroidOptions(
71
71
  JSIConverter<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "appKilledPlaybackBehavior"))),
72
72
  JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "skipSilence"))),
73
- JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "notificationButtons")))
73
+ JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::RemoteButtonLayout>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "remoteButtonLayout")))
74
74
  );
75
75
  }
76
76
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::AndroidOptions& arg) {
77
77
  jsi::Object obj(runtime);
78
78
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "appKilledPlaybackBehavior"), JSIConverter<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>::toJSI(runtime, arg.appKilledPlaybackBehavior));
79
79
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "skipSilence"), JSIConverter<bool>::toJSI(runtime, arg.skipSilence));
80
- obj.setProperty(runtime, PropNameIDCache::get(runtime, "notificationButtons"), JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::toJSI(runtime, arg.notificationButtons));
80
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "remoteButtonLayout"), JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::RemoteButtonLayout>>>::toJSI(runtime, arg.remoteButtonLayout));
81
81
  return obj;
82
82
  }
83
83
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -90,7 +90,7 @@ namespace margelo::nitro {
90
90
  }
91
91
  if (!JSIConverter<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "appKilledPlaybackBehavior")))) return false;
92
92
  if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "skipSilence")))) return false;
93
- if (!JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "notificationButtons")))) return false;
93
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::RemoteButtonLayout>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "remoteButtonLayout")))) return false;
94
94
  return true;
95
95
  }
96
96
  };
@@ -30,13 +30,13 @@
30
30
 
31
31
  // Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
32
32
  namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
33
- // Forward declaration of `NotificationButtonLayout` to properly resolve imports.
34
- namespace margelo::nitro::audiobrowser { struct NotificationButtonLayout; }
33
+ // Forward declaration of `RemoteButtonLayout` to properly resolve imports.
34
+ namespace margelo::nitro::audiobrowser { struct RemoteButtonLayout; }
35
35
 
36
36
  #include "AppKilledPlaybackBehavior.hpp"
37
37
  #include <optional>
38
38
  #include <NitroModules/Null.hpp>
39
- #include "NotificationButtonLayout.hpp"
39
+ #include "RemoteButtonLayout.hpp"
40
40
  #include <variant>
41
41
 
42
42
  namespace margelo::nitro::audiobrowser {
@@ -48,11 +48,11 @@ namespace margelo::nitro::audiobrowser {
48
48
  public:
49
49
  std::optional<AppKilledPlaybackBehavior> appKilledPlaybackBehavior SWIFT_PRIVATE;
50
50
  std::optional<bool> skipSilence SWIFT_PRIVATE;
51
- std::optional<std::variant<nitro::NullType, NotificationButtonLayout>> notificationButtons SWIFT_PRIVATE;
51
+ std::optional<std::variant<nitro::NullType, RemoteButtonLayout>> remoteButtonLayout SWIFT_PRIVATE;
52
52
 
53
53
  public:
54
54
  NitroAndroidUpdateOptions() = default;
55
- explicit NitroAndroidUpdateOptions(std::optional<AppKilledPlaybackBehavior> appKilledPlaybackBehavior, std::optional<bool> skipSilence, std::optional<std::variant<nitro::NullType, NotificationButtonLayout>> notificationButtons): appKilledPlaybackBehavior(appKilledPlaybackBehavior), skipSilence(skipSilence), notificationButtons(notificationButtons) {}
55
+ explicit NitroAndroidUpdateOptions(std::optional<AppKilledPlaybackBehavior> appKilledPlaybackBehavior, std::optional<bool> skipSilence, std::optional<std::variant<nitro::NullType, RemoteButtonLayout>> remoteButtonLayout): appKilledPlaybackBehavior(appKilledPlaybackBehavior), skipSilence(skipSilence), remoteButtonLayout(remoteButtonLayout) {}
56
56
 
57
57
  public:
58
58
  friend bool operator==(const NitroAndroidUpdateOptions& lhs, const NitroAndroidUpdateOptions& rhs) = default;
@@ -70,14 +70,14 @@ namespace margelo::nitro {
70
70
  return margelo::nitro::audiobrowser::NitroAndroidUpdateOptions(
71
71
  JSIConverter<std::optional<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "appKilledPlaybackBehavior"))),
72
72
  JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "skipSilence"))),
73
- JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "notificationButtons")))
73
+ JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::RemoteButtonLayout>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "remoteButtonLayout")))
74
74
  );
75
75
  }
76
76
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::NitroAndroidUpdateOptions& arg) {
77
77
  jsi::Object obj(runtime);
78
78
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "appKilledPlaybackBehavior"), JSIConverter<std::optional<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>>::toJSI(runtime, arg.appKilledPlaybackBehavior));
79
79
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "skipSilence"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.skipSilence));
80
- obj.setProperty(runtime, PropNameIDCache::get(runtime, "notificationButtons"), JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::toJSI(runtime, arg.notificationButtons));
80
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "remoteButtonLayout"), JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::RemoteButtonLayout>>>::toJSI(runtime, arg.remoteButtonLayout));
81
81
  return obj;
82
82
  }
83
83
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -90,7 +90,7 @@ namespace margelo::nitro {
90
90
  }
91
91
  if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "appKilledPlaybackBehavior")))) return false;
92
92
  if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "skipSilence")))) return false;
93
- if (!JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "notificationButtons")))) return false;
93
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::RemoteButtonLayout>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "remoteButtonLayout")))) return false;
94
94
  return true;
95
95
  }
96
96
  };
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// NotificationButton.hpp
2
+ /// RemoteButton.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © Marc Rousavy @ Margelo
@@ -26,9 +26,9 @@
26
26
  namespace margelo::nitro::audiobrowser {
27
27
 
28
28
  /**
29
- * An enum which can be represented as a JavaScript union (NotificationButton).
29
+ * An enum which can be represented as a JavaScript union (RemoteButton).
30
30
  */
31
- enum class NotificationButton {
31
+ enum class RemoteButton {
32
32
  SKIP_TO_PREVIOUS SWIFT_NAME(skipToPrevious) = 0,
33
33
  SKIP_TO_NEXT SWIFT_NAME(skipToNext) = 1,
34
34
  JUMP_BACKWARD SWIFT_NAME(jumpBackward) = 2,
@@ -40,30 +40,30 @@ namespace margelo::nitro::audiobrowser {
40
40
 
41
41
  namespace margelo::nitro {
42
42
 
43
- // C++ NotificationButton <> JS NotificationButton (union)
43
+ // C++ RemoteButton <> JS RemoteButton (union)
44
44
  template <>
45
- struct JSIConverter<margelo::nitro::audiobrowser::NotificationButton> final {
46
- static inline margelo::nitro::audiobrowser::NotificationButton fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
45
+ struct JSIConverter<margelo::nitro::audiobrowser::RemoteButton> final {
46
+ static inline margelo::nitro::audiobrowser::RemoteButton fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
47
47
  std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, arg);
48
48
  switch (hashString(unionValue.c_str(), unionValue.size())) {
49
- case hashString("skip-to-previous"): return margelo::nitro::audiobrowser::NotificationButton::SKIP_TO_PREVIOUS;
50
- case hashString("skip-to-next"): return margelo::nitro::audiobrowser::NotificationButton::SKIP_TO_NEXT;
51
- case hashString("jump-backward"): return margelo::nitro::audiobrowser::NotificationButton::JUMP_BACKWARD;
52
- case hashString("jump-forward"): return margelo::nitro::audiobrowser::NotificationButton::JUMP_FORWARD;
53
- case hashString("favorite"): return margelo::nitro::audiobrowser::NotificationButton::FAVORITE;
49
+ case hashString("skip-to-previous"): return margelo::nitro::audiobrowser::RemoteButton::SKIP_TO_PREVIOUS;
50
+ case hashString("skip-to-next"): return margelo::nitro::audiobrowser::RemoteButton::SKIP_TO_NEXT;
51
+ case hashString("jump-backward"): return margelo::nitro::audiobrowser::RemoteButton::JUMP_BACKWARD;
52
+ case hashString("jump-forward"): return margelo::nitro::audiobrowser::RemoteButton::JUMP_FORWARD;
53
+ case hashString("favorite"): return margelo::nitro::audiobrowser::RemoteButton::FAVORITE;
54
54
  default: [[unlikely]]
55
- throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum NotificationButton - invalid value!");
55
+ throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum RemoteButton - invalid value!");
56
56
  }
57
57
  }
58
- static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::audiobrowser::NotificationButton arg) {
58
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::audiobrowser::RemoteButton arg) {
59
59
  switch (arg) {
60
- case margelo::nitro::audiobrowser::NotificationButton::SKIP_TO_PREVIOUS: return JSIConverter<std::string>::toJSI(runtime, "skip-to-previous");
61
- case margelo::nitro::audiobrowser::NotificationButton::SKIP_TO_NEXT: return JSIConverter<std::string>::toJSI(runtime, "skip-to-next");
62
- case margelo::nitro::audiobrowser::NotificationButton::JUMP_BACKWARD: return JSIConverter<std::string>::toJSI(runtime, "jump-backward");
63
- case margelo::nitro::audiobrowser::NotificationButton::JUMP_FORWARD: return JSIConverter<std::string>::toJSI(runtime, "jump-forward");
64
- case margelo::nitro::audiobrowser::NotificationButton::FAVORITE: return JSIConverter<std::string>::toJSI(runtime, "favorite");
60
+ case margelo::nitro::audiobrowser::RemoteButton::SKIP_TO_PREVIOUS: return JSIConverter<std::string>::toJSI(runtime, "skip-to-previous");
61
+ case margelo::nitro::audiobrowser::RemoteButton::SKIP_TO_NEXT: return JSIConverter<std::string>::toJSI(runtime, "skip-to-next");
62
+ case margelo::nitro::audiobrowser::RemoteButton::JUMP_BACKWARD: return JSIConverter<std::string>::toJSI(runtime, "jump-backward");
63
+ case margelo::nitro::audiobrowser::RemoteButton::JUMP_FORWARD: return JSIConverter<std::string>::toJSI(runtime, "jump-forward");
64
+ case margelo::nitro::audiobrowser::RemoteButton::FAVORITE: return JSIConverter<std::string>::toJSI(runtime, "favorite");
65
65
  default: [[unlikely]]
66
- throw std::invalid_argument("Cannot convert NotificationButton to JS - invalid value: "
66
+ throw std::invalid_argument("Cannot convert RemoteButton to JS - invalid value: "
67
67
  + std::to_string(static_cast<int>(arg)) + "!");
68
68
  }
69
69
  }
@@ -0,0 +1,94 @@
1
+ ///
2
+ /// RemoteButtonLayout.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
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
30
+
31
+ // Forward declaration of `RemoteButton` to properly resolve imports.
32
+ namespace margelo::nitro::audiobrowser { enum class RemoteButton; }
33
+
34
+ #include "RemoteButton.hpp"
35
+ #include <optional>
36
+ #include <vector>
37
+
38
+ namespace margelo::nitro::audiobrowser {
39
+
40
+ /**
41
+ * A struct which can be represented as a JavaScript object (RemoteButtonLayout).
42
+ */
43
+ struct RemoteButtonLayout final {
44
+ public:
45
+ std::optional<RemoteButton> back SWIFT_PRIVATE;
46
+ std::optional<RemoteButton> forward SWIFT_PRIVATE;
47
+ std::vector<RemoteButton> overflow SWIFT_PRIVATE;
48
+
49
+ public:
50
+ RemoteButtonLayout() = default;
51
+ explicit RemoteButtonLayout(std::optional<RemoteButton> back, std::optional<RemoteButton> forward, std::vector<RemoteButton> overflow): back(back), forward(forward), overflow(overflow) {}
52
+
53
+ public:
54
+ friend bool operator==(const RemoteButtonLayout& lhs, const RemoteButtonLayout& rhs) = default;
55
+ };
56
+
57
+ } // namespace margelo::nitro::audiobrowser
58
+
59
+ namespace margelo::nitro {
60
+
61
+ // C++ RemoteButtonLayout <> JS RemoteButtonLayout (object)
62
+ template <>
63
+ struct JSIConverter<margelo::nitro::audiobrowser::RemoteButtonLayout> final {
64
+ static inline margelo::nitro::audiobrowser::RemoteButtonLayout fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
65
+ jsi::Object obj = arg.asObject(runtime);
66
+ return margelo::nitro::audiobrowser::RemoteButtonLayout(
67
+ JSIConverter<std::optional<margelo::nitro::audiobrowser::RemoteButton>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "back"))),
68
+ JSIConverter<std::optional<margelo::nitro::audiobrowser::RemoteButton>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "forward"))),
69
+ JSIConverter<std::vector<margelo::nitro::audiobrowser::RemoteButton>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "overflow")))
70
+ );
71
+ }
72
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::RemoteButtonLayout& arg) {
73
+ jsi::Object obj(runtime);
74
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "back"), JSIConverter<std::optional<margelo::nitro::audiobrowser::RemoteButton>>::toJSI(runtime, arg.back));
75
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "forward"), JSIConverter<std::optional<margelo::nitro::audiobrowser::RemoteButton>>::toJSI(runtime, arg.forward));
76
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "overflow"), JSIConverter<std::vector<margelo::nitro::audiobrowser::RemoteButton>>::toJSI(runtime, arg.overflow));
77
+ return obj;
78
+ }
79
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
80
+ if (!value.isObject()) {
81
+ return false;
82
+ }
83
+ jsi::Object obj = value.getObject(runtime);
84
+ if (!nitro::isPlainObject(runtime, obj)) {
85
+ return false;
86
+ }
87
+ if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::RemoteButton>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "back")))) return false;
88
+ if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::RemoteButton>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "forward")))) return false;
89
+ if (!JSIConverter<std::vector<margelo::nitro::audiobrowser::RemoteButton>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "overflow")))) return false;
90
+ return true;
91
+ }
92
+ };
93
+
94
+ } // namespace margelo::nitro
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-audio-browser",
3
- "version": "0.2.0-next.4",
3
+ "version": "0.2.0-next.6",
4
4
  "description": "react-native-audio-browser is a react native package built with Nitro",
5
5
  "keywords": [
6
6
  "react-native",