react-native-audio-browser 0.2.0-next.1 → 0.2.0-next.11

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 (290) hide show
  1. package/README.md +22 -18
  2. package/android/build.gradle +13 -10
  3. package/android/gradle.properties +2 -2
  4. package/android/src/main/AndroidManifest.xml +3 -1
  5. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +76 -21
  6. package/android/src/main/java/com/audiobrowser/AudioBrowserLifecycleModule.kt +38 -0
  7. package/android/src/main/java/com/audiobrowser/AudioBrowserPackage.kt +18 -2
  8. package/android/src/main/java/com/audiobrowser/ServiceBinding.kt +48 -0
  9. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +1 -2
  10. package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +1 -2
  11. package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +6 -7
  12. package/android/src/main/java/com/audiobrowser/http/HttpClient.kt +20 -3
  13. package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +11 -11
  14. package/android/src/main/java/com/audiobrowser/player/CapabilityControls.kt +111 -58
  15. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +9 -5
  16. package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +218 -252
  17. package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +0 -1
  18. package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +2 -4
  19. package/android/src/main/java/com/audiobrowser/player/Player.kt +30 -8
  20. package/android/src/main/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicy.kt +2 -1
  21. package/android/src/main/java/com/audiobrowser/player/TransformingDataSource.kt +2 -1
  22. package/android/src/main/java/com/audiobrowser/tls/AiaCertChaser.kt +67 -11
  23. package/android/src/main/java/com/audiobrowser/tls/AiaChasingExtendedTrustManager.kt +168 -0
  24. package/android/src/main/java/com/audiobrowser/tls/AiaChasingTrustManager.kt +58 -14
  25. package/android/src/main/java/com/audiobrowser/tls/AiaTls.kt +35 -7
  26. package/android/src/main/java/com/audiobrowser/tls/CachingCertificateFetcher.kt +278 -59
  27. package/android/src/main/java/com/audiobrowser/util/ArtworkVariant.kt +7 -9
  28. package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +8 -7
  29. package/android/src/test/java/com/audiobrowser/ServiceBindingTest.kt +87 -0
  30. package/android/src/test/java/com/audiobrowser/TestFixtures.kt +52 -1
  31. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerLayerResolutionTest.kt +6 -0
  32. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +167 -8
  33. package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +2 -1
  34. package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +2 -4
  35. package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +100 -56
  36. package/android/src/test/java/com/audiobrowser/player/MediaSessionSlotMappingTest.kt +45 -0
  37. package/android/src/test/java/com/audiobrowser/player/PlaybackErrorClassifierTest.kt +3 -4
  38. package/android/src/test/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicyTest.kt +3 -3
  39. package/android/src/test/java/com/audiobrowser/tls/AiaCertChaserTest.kt +197 -7
  40. package/android/src/test/java/com/audiobrowser/tls/AiaChasingTrustManagerTest.kt +325 -4
  41. package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherCallSiteTest.kt +322 -0
  42. package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherTest.kt +83 -0
  43. package/ios/Browser/BrowserManager.swift +2 -27
  44. package/ios/Browser/SearchDrillIn.swift +1 -1
  45. package/ios/CarPlay/RNABMediaAddHandler.swift +6 -6
  46. package/ios/CarPlay/RNABMediaAffinityHandler.swift +2 -2
  47. package/ios/CarPlay/RNABMediaIntentHandler.swift +16 -16
  48. package/ios/HybridAudioBrowser.swift +87 -56
  49. package/ios/Model/NitroTypeStubs.swift +18 -2
  50. package/ios/Model/RemoteCommand.swift +18 -0
  51. package/ios/Model/TrackPlayerError.swift +2 -2
  52. package/ios/Option/SessionCategories.swift +3 -2
  53. package/ios/Player/MediaIntentCriteria.swift +4 -4
  54. package/ios/Player/MediaLoader.swift +3 -1
  55. package/ios/Player/PlaybackCoordinator.swift +4 -1
  56. package/ios/Player/PlaybackErrorHandler.swift +4 -4
  57. package/ios/Player/QueueManager.swift +10 -3
  58. package/ios/Player/RetryManager.swift +79 -18
  59. package/ios/Player/ShuffleOrder.swift +10 -0
  60. package/ios/Player/SleepTimerManager.swift +43 -15
  61. package/ios/RemoteCommand/RemoteCommandCallbacks.swift +47 -0
  62. package/ios/RemoteCommand/RemoteCommandController.swift +9 -6
  63. package/ios/Tests/LRUCacheTests.swift +111 -0
  64. package/ios/Tests/LoadSeekCoordinatorTests.swift +3 -1
  65. package/ios/Tests/MediaIntentCriteriaTests.swift +2 -2
  66. package/ios/Tests/MediaLoaderTests.swift +10 -13
  67. package/ios/Tests/PlaybackCoordinatorTests.swift +10 -7
  68. package/ios/Tests/PlaybackErrorHandlerTests.swift +3 -1
  69. package/ios/Tests/PlayerTimeObserverTests.swift +37 -0
  70. package/ios/Tests/QueueManagerTests.swift +50 -4
  71. package/ios/Tests/RemoteCommandControllerTests.swift +156 -0
  72. package/ios/Tests/RemoteCommandTests.swift +67 -0
  73. package/ios/Tests/RetryManagerTests.swift +89 -0
  74. package/ios/Tests/SectionScopeTests.swift +2 -2
  75. package/ios/Tests/SleepTimerManagerTests.swift +22 -19
  76. package/ios/Tests/Support/ManualSleepTimerScheduler.swift +47 -0
  77. package/ios/Tests/Support/TestTypes.swift +1 -1
  78. package/ios/Tests/TabBarEntriesTests.swift +7 -7
  79. package/ios/TrackPlayer.swift +6 -1
  80. package/ios/TrackPlayerCallbacks.swift +5 -38
  81. package/ios/Util/LRUCache.swift +4 -1
  82. package/lib/commonjs/AudioBrowser.js +0 -11
  83. package/lib/commonjs/AudioBrowser.js.map +1 -1
  84. package/lib/commonjs/CLAUDE.md +52 -0
  85. package/lib/commonjs/features/browser.js +1 -1
  86. package/lib/commonjs/features/browser.js.map +1 -1
  87. package/lib/commonjs/features/carConnection.js +1 -1
  88. package/lib/commonjs/features/equalizer.js +1 -1
  89. package/lib/commonjs/features/errors.js +3 -3
  90. package/lib/commonjs/features/favorites.js +1 -1
  91. package/lib/commonjs/features/gate.js +16 -1
  92. package/lib/commonjs/features/gate.js.map +1 -1
  93. package/lib/commonjs/features/metadata.js +20 -3
  94. package/lib/commonjs/features/metadata.js.map +1 -1
  95. package/lib/commonjs/features/network.js +1 -1
  96. package/lib/commonjs/features/nowPlaying.js +1 -1
  97. package/lib/commonjs/features/output.js +1 -1
  98. package/lib/commonjs/features/playback/playWhenReady.js +1 -1
  99. package/lib/commonjs/features/playback/playing.js +1 -1
  100. package/lib/commonjs/features/playback/progress.js +1 -1
  101. package/lib/commonjs/features/playback/state.js +1 -1
  102. package/lib/commonjs/features/playback/trackPlaybackTime.js +0 -6
  103. package/lib/commonjs/features/playback/trackPlaybackTime.js.map +1 -1
  104. package/lib/commonjs/features/playback/volume.js +1 -1
  105. package/lib/commonjs/features/player/options.js +48 -34
  106. package/lib/commonjs/features/player/options.js.map +1 -1
  107. package/lib/commonjs/features/player/setup.js +15 -8
  108. package/lib/commonjs/features/player/setup.js.map +1 -1
  109. package/lib/commonjs/features/player/validateOptions.js +21 -0
  110. package/lib/commonjs/features/player/validateOptions.js.map +1 -0
  111. package/lib/commonjs/features/queue/activeTrack.js +1 -1
  112. package/lib/commonjs/features/queue/queue.js +2 -2
  113. package/lib/commonjs/features/queue/repeatMode.js +1 -1
  114. package/lib/commonjs/features/queue/shuffle.js +1 -1
  115. package/lib/commonjs/features/remoteControls.js +13 -92
  116. package/lib/commonjs/features/remoteControls.js.map +1 -1
  117. package/lib/commonjs/features/sleepTimer.js +13 -1
  118. package/lib/commonjs/features/sleepTimer.js.map +1 -1
  119. package/lib/commonjs/test-utils/reactNativeStub.js +65 -0
  120. package/lib/commonjs/test-utils/reactNativeStub.js.map +1 -0
  121. package/lib/commonjs/utils/LazyNativeEmitter.js +8 -5
  122. package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
  123. package/lib/commonjs/web/NativeAudioBrowser.js +1 -1
  124. package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
  125. package/lib/commonjs/web/browser/BrowserManager.js +1 -1
  126. package/lib/module/AudioBrowser.js +1 -1
  127. package/lib/module/AudioBrowser.js.map +1 -1
  128. package/lib/module/CLAUDE.md +52 -0
  129. package/lib/module/features/browser.js +1 -1
  130. package/lib/module/features/browser.js.map +1 -1
  131. package/lib/module/features/carConnection.js +1 -1
  132. package/lib/module/features/equalizer.js +1 -1
  133. package/lib/module/features/errors.js +3 -3
  134. package/lib/module/features/favorites.js +1 -1
  135. package/lib/module/features/gate.js +16 -1
  136. package/lib/module/features/gate.js.map +1 -1
  137. package/lib/module/features/metadata.js +20 -3
  138. package/lib/module/features/metadata.js.map +1 -1
  139. package/lib/module/features/network.js +1 -1
  140. package/lib/module/features/nowPlaying.js +1 -1
  141. package/lib/module/features/output.js +1 -1
  142. package/lib/module/features/playback/playWhenReady.js +1 -1
  143. package/lib/module/features/playback/playing.js +1 -1
  144. package/lib/module/features/playback/progress.js +1 -1
  145. package/lib/module/features/playback/state.js +1 -1
  146. package/lib/module/features/playback/trackPlaybackTime.js +0 -5
  147. package/lib/module/features/playback/trackPlaybackTime.js.map +1 -1
  148. package/lib/module/features/playback/volume.js +1 -1
  149. package/lib/module/features/player/options.js +47 -32
  150. package/lib/module/features/player/options.js.map +1 -1
  151. package/lib/module/features/player/setup.js +14 -7
  152. package/lib/module/features/player/setup.js.map +1 -1
  153. package/lib/module/features/player/validateOptions.js +17 -0
  154. package/lib/module/features/player/validateOptions.js.map +1 -0
  155. package/lib/module/features/queue/activeTrack.js +1 -1
  156. package/lib/module/features/queue/queue.js +2 -2
  157. package/lib/module/features/queue/repeatMode.js +1 -1
  158. package/lib/module/features/queue/shuffle.js +1 -1
  159. package/lib/module/features/remoteControls.js +13 -92
  160. package/lib/module/features/remoteControls.js.map +1 -1
  161. package/lib/module/features/sleepTimer.js +13 -1
  162. package/lib/module/features/sleepTimer.js.map +1 -1
  163. package/lib/module/test-utils/reactNativeStub.js +58 -0
  164. package/lib/module/test-utils/reactNativeStub.js.map +1 -0
  165. package/lib/module/utils/LazyNativeEmitter.js +8 -5
  166. package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
  167. package/lib/module/web/NativeAudioBrowser.js +1 -1
  168. package/lib/module/web/NativeAudioBrowser.js.map +1 -1
  169. package/lib/module/web/browser/BrowserManager.js +1 -1
  170. package/lib/typescript/src/AudioBrowser.d.ts +0 -1
  171. package/lib/typescript/src/AudioBrowser.d.ts.map +1 -1
  172. package/lib/typescript/src/features/carConnection.d.ts +1 -1
  173. package/lib/typescript/src/features/equalizer.d.ts +1 -1
  174. package/lib/typescript/src/features/errors.d.ts +3 -3
  175. package/lib/typescript/src/features/favorites.d.ts +1 -1
  176. package/lib/typescript/src/features/gate.d.ts +18 -2
  177. package/lib/typescript/src/features/gate.d.ts.map +1 -1
  178. package/lib/typescript/src/features/metadata.d.ts +20 -3
  179. package/lib/typescript/src/features/metadata.d.ts.map +1 -1
  180. package/lib/typescript/src/features/network.d.ts +1 -1
  181. package/lib/typescript/src/features/nowPlaying.d.ts +1 -1
  182. package/lib/typescript/src/features/output.d.ts +1 -1
  183. package/lib/typescript/src/features/playback/playWhenReady.d.ts +1 -1
  184. package/lib/typescript/src/features/playback/playing.d.ts +1 -1
  185. package/lib/typescript/src/features/playback/progress.d.ts +1 -1
  186. package/lib/typescript/src/features/playback/state.d.ts +1 -1
  187. package/lib/typescript/src/features/playback/volume.d.ts +1 -1
  188. package/lib/typescript/src/features/player/options.d.ts +87 -37
  189. package/lib/typescript/src/features/player/options.d.ts.map +1 -1
  190. package/lib/typescript/src/features/player/setup.d.ts +14 -4
  191. package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
  192. package/lib/typescript/src/features/player/validateOptions.d.ts +9 -0
  193. package/lib/typescript/src/features/player/validateOptions.d.ts.map +1 -0
  194. package/lib/typescript/src/features/queue/activeTrack.d.ts +1 -1
  195. package/lib/typescript/src/features/queue/queue.d.ts +2 -2
  196. package/lib/typescript/src/features/queue/repeatMode.d.ts +1 -1
  197. package/lib/typescript/src/features/queue/shuffle.d.ts +1 -1
  198. package/lib/typescript/src/features/remoteControls.d.ts +23 -22
  199. package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
  200. package/lib/typescript/src/features/sleepTimer.d.ts +1 -1
  201. package/lib/typescript/src/features/sleepTimer.d.ts.map +1 -1
  202. package/lib/typescript/src/test-utils/reactNativeStub.d.ts +36 -0
  203. package/lib/typescript/src/test-utils/reactNativeStub.d.ts.map +1 -0
  204. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +8 -4
  205. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
  206. package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +1 -1
  207. package/nitrogen/generated/android/c++/JAndroidOptions.hpp +10 -10
  208. package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +5 -5
  209. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +11 -11
  210. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +1 -1
  211. package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +5 -5
  212. package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +5 -5
  213. package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +10 -10
  214. package/nitrogen/generated/android/c++/JOptions.hpp +5 -5
  215. package/nitrogen/generated/android/c++/{JNotificationButton.hpp → JRemoteButton.hpp} +19 -19
  216. package/nitrogen/generated/android/c++/JRemoteButtonLayout.hpp +86 -0
  217. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.cpp +26 -0
  218. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.hpp +75 -0
  219. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +3 -3
  220. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +1 -1
  221. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +3 -3
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{NotificationButton.kt → RemoteButton.kt} +3 -3
  223. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteButtonLayout.kt +44 -0
  224. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Variant_NullType_NotificationButtonLayout.kt → Variant_NullType_RemoteButtonLayout.kt} +9 -9
  225. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +36 -51
  226. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +6 -6
  227. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +8 -8
  228. package/nitrogen/generated/ios/swift/AndroidOptions.swift +12 -12
  229. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +1 -1
  230. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +2 -2
  231. package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +12 -12
  232. package/nitrogen/generated/ios/swift/{NotificationButton.swift → RemoteButton.swift} +6 -6
  233. package/nitrogen/generated/ios/swift/RemoteButtonLayout.swift +57 -0
  234. package/nitrogen/generated/ios/swift/{Variant_NullType_NotificationButtonLayout.swift → Variant_NullType_RemoteButtonLayout.swift} +3 -3
  235. package/nitrogen/generated/shared/c++/AndroidOptions.hpp +8 -8
  236. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +1 -1
  237. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +1 -1
  238. package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +8 -8
  239. package/nitrogen/generated/shared/c++/{NotificationButton.hpp → RemoteButton.hpp} +19 -19
  240. package/nitrogen/generated/shared/c++/RemoteButtonLayout.hpp +94 -0
  241. package/package.json +12 -4
  242. package/src/AudioBrowser.ts +1 -1
  243. package/src/CLAUDE.md +52 -0
  244. package/src/features/battery.test.ts +79 -0
  245. package/src/features/browser.ts +1 -1
  246. package/src/features/carConnection.ts +1 -1
  247. package/src/features/equalizer.ts +1 -1
  248. package/src/features/errors.ts +3 -3
  249. package/src/features/favorites.ts +1 -1
  250. package/src/features/gate.ts +16 -1
  251. package/src/features/hook-wiring.test.ts +254 -0
  252. package/src/features/metadata.ts +20 -3
  253. package/src/features/network.ts +1 -1
  254. package/src/features/nowPlaying.ts +1 -1
  255. package/src/features/output.ts +1 -1
  256. package/src/features/playback/playWhenReady.ts +1 -1
  257. package/src/features/playback/playing.ts +1 -1
  258. package/src/features/playback/progress.test.ts +169 -0
  259. package/src/features/playback/progress.ts +1 -1
  260. package/src/features/playback/state.ts +1 -1
  261. package/src/features/playback/trackPlaybackTime.test.ts +16 -6
  262. package/src/features/playback/trackPlaybackTime.ts +0 -5
  263. package/src/features/playback/volume.ts +1 -1
  264. package/src/features/player/options.ts +99 -57
  265. package/src/features/player/setup.test.ts +12 -4
  266. package/src/features/player/setup.ts +19 -9
  267. package/src/features/player/validateOptions.ts +19 -0
  268. package/src/features/queue/activeTrack.ts +1 -1
  269. package/src/features/queue/queue.ts +2 -2
  270. package/src/features/queue/repeatMode.ts +1 -1
  271. package/src/features/queue/shuffle.ts +1 -1
  272. package/src/features/remoteControls.ts +13 -92
  273. package/src/features/sleepTimer.test.ts +172 -0
  274. package/src/features/sleepTimer.ts +9 -1
  275. package/src/nitro-stub-drift.test.ts +237 -0
  276. package/src/public-surface.test.ts +107 -0
  277. package/src/specs/audio-browser.nitro.ts +1 -1
  278. package/src/test-utils/reactNativeStub.ts +60 -0
  279. package/src/utils/LazyNativeEmitter.ts +9 -6
  280. package/src/utils/useDebug.test.ts +182 -0
  281. package/src/utils/useNativeUpdatedValue.test.ts +103 -0
  282. package/src/web/NativeAudioBrowser.ts +1 -1
  283. package/src/web/browser/BrowserManager.ts +1 -1
  284. package/ios/Model/MediaURL.swift +0 -67
  285. package/nitrogen/generated/android/c++/JNotificationButtonLayout.hpp +0 -94
  286. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.cpp +0 -26
  287. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.hpp +0 -75
  288. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButtonLayout.kt +0 -50
  289. package/nitrogen/generated/ios/swift/NotificationButtonLayout.swift +0 -92
  290. package/nitrogen/generated/shared/c++/NotificationButtonLayout.hpp +0 -102
@@ -20,13 +20,13 @@
20
20
  #include "AppKilledPlaybackBehavior.hpp"
21
21
  #include "JAppKilledPlaybackBehavior.hpp"
22
22
  #include <NitroModules/Null.hpp>
23
- #include "NotificationButtonLayout.hpp"
23
+ #include "RemoteButtonLayout.hpp"
24
24
  #include <variant>
25
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
25
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
26
26
  #include <NitroModules/JNull.hpp>
27
- #include "JNotificationButtonLayout.hpp"
28
- #include "NotificationButton.hpp"
29
- #include "JNotificationButton.hpp"
27
+ #include "JRemoteButtonLayout.hpp"
28
+ #include "RemoteButton.hpp"
29
+ #include "JRemoteButton.hpp"
30
30
  #include <vector>
31
31
  #include "JVariant_NullType_Double.hpp"
32
32
  #include "PlayerCapabilities.hpp"
@@ -127,10 +127,10 @@ namespace margelo::nitro::audiobrowser { struct Options; }
127
127
  namespace margelo::nitro::audiobrowser { struct AndroidOptions; }
128
128
  // Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
129
129
  namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
130
- // Forward declaration of `NotificationButtonLayout` to properly resolve imports.
131
- namespace margelo::nitro::audiobrowser { struct NotificationButtonLayout; }
132
- // Forward declaration of `NotificationButton` to properly resolve imports.
133
- namespace margelo::nitro::audiobrowser { enum class NotificationButton; }
130
+ // Forward declaration of `RemoteButtonLayout` to properly resolve imports.
131
+ namespace margelo::nitro::audiobrowser { struct RemoteButtonLayout; }
132
+ // Forward declaration of `RemoteButton` to properly resolve imports.
133
+ namespace margelo::nitro::audiobrowser { enum class RemoteButton; }
134
134
  // Forward declaration of `PlayerCapabilities` to properly resolve imports.
135
135
  namespace margelo::nitro::audiobrowser { struct PlayerCapabilities; }
136
136
  // Forward declaration of `FavoriteConfig` to properly resolve imports.
@@ -370,11 +370,11 @@ namespace margelo::nitro::audiobrowser { struct RetryConfig; }
370
370
  #include "JAndroidOptions.hpp"
371
371
  #include "AppKilledPlaybackBehavior.hpp"
372
372
  #include "JAppKilledPlaybackBehavior.hpp"
373
- #include "NotificationButtonLayout.hpp"
374
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
375
- #include "JNotificationButtonLayout.hpp"
376
- #include "NotificationButton.hpp"
377
- #include "JNotificationButton.hpp"
373
+ #include "RemoteButtonLayout.hpp"
374
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
375
+ #include "JRemoteButtonLayout.hpp"
376
+ #include "RemoteButton.hpp"
377
+ #include "JRemoteButton.hpp"
378
378
  #include "JVariant_NullType_Double.hpp"
379
379
  #include "PlayerCapabilities.hpp"
380
380
  #include "JPlayerCapabilities.hpp"
@@ -1453,8 +1453,8 @@ namespace margelo::nitro::audiobrowser {
1453
1453
  static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JTrack> /* track */)>("navigateTrack");
1454
1454
  method(_javaPart, JTrack::fromCpp(track));
1455
1455
  }
1456
- std::shared_ptr<Promise<std::vector<Track>>> JHybridAudioBrowserSpec::onSearch(const std::string& query) {
1457
- static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* query */)>("onSearch");
1456
+ std::shared_ptr<Promise<std::vector<Track>>> JHybridAudioBrowserSpec::search(const std::string& query) {
1457
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* query */)>("search");
1458
1458
  auto __result = method(_javaPart, jni::make_jstring(query));
1459
1459
  return [&]() {
1460
1460
  auto __promise = Promise<std::vector<Track>>::create();
@@ -169,7 +169,7 @@ namespace margelo::nitro::audiobrowser {
169
169
  // Methods
170
170
  void navigatePath(const std::string& path) override;
171
171
  void navigateTrack(const Track& track) override;
172
- std::shared_ptr<Promise<std::vector<Track>>> onSearch(const std::string& query) override;
172
+ std::shared_ptr<Promise<std::vector<Track>>> search(const std::string& query) override;
173
173
  std::optional<ResolvedTrack> getContent() override;
174
174
  std::optional<NavigationError> getNavigationError() override;
175
175
  std::optional<FormattedNavigationError> getFormattedNavigationError() override;
@@ -48,12 +48,12 @@
48
48
  #include "JNativeUpdateOptions.hpp"
49
49
  #include "JNitroAndroidUpdateOptions.hpp"
50
50
  #include "JNitroIOSUpdateOptions.hpp"
51
- #include "JNotificationButton.hpp"
52
- #include "JNotificationButtonLayout.hpp"
53
51
  #include "JNowPlayingUpdate.hpp"
54
52
  #include "JPlaybackError.hpp"
55
53
  #include "JPlaybackErrorKind.hpp"
56
54
  #include "JPlayerCapabilities.hpp"
55
+ #include "JRemoteButton.hpp"
56
+ #include "JRemoteButtonLayout.hpp"
57
57
  #include "JRepeatMode.hpp"
58
58
  #include "JRetryConfig.hpp"
59
59
  #include "JStallReason.hpp"
@@ -65,19 +65,19 @@
65
65
  #include "JVariant_Boolean_FavoriteConfig.hpp"
66
66
  #include "JVariant_Boolean_RetryConfig.hpp"
67
67
  #include "JVariant_NullType_Double.hpp"
68
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
68
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
69
69
  #include "JVariant_String_ArtworkVariants.hpp"
70
70
  #include "NativeAndroidSetupOptions.hpp"
71
71
  #include "NativeIOSSetupOptions.hpp"
72
72
  #include "NativeUpdateOptions.hpp"
73
73
  #include "NitroAndroidUpdateOptions.hpp"
74
74
  #include "NitroIOSUpdateOptions.hpp"
75
- #include "NotificationButton.hpp"
76
- #include "NotificationButtonLayout.hpp"
77
75
  #include "NowPlayingUpdate.hpp"
78
76
  #include "PlaybackError.hpp"
79
77
  #include "PlaybackErrorKind.hpp"
80
78
  #include "PlayerCapabilities.hpp"
79
+ #include "RemoteButton.hpp"
80
+ #include "RemoteButtonLayout.hpp"
81
81
  #include "RepeatMode.hpp"
82
82
  #include "RetryConfig.hpp"
83
83
  #include "StallReason.hpp"
@@ -20,17 +20,17 @@
20
20
  #include "JFavoritesMatchMode.hpp"
21
21
  #include "JNitroAndroidUpdateOptions.hpp"
22
22
  #include "JNitroIOSUpdateOptions.hpp"
23
- #include "JNotificationButton.hpp"
24
- #include "JNotificationButtonLayout.hpp"
25
23
  #include "JPlayerCapabilities.hpp"
24
+ #include "JRemoteButton.hpp"
25
+ #include "JRemoteButtonLayout.hpp"
26
26
  #include "JVariant_Boolean_FavoriteConfig.hpp"
27
27
  #include "JVariant_NullType_Double.hpp"
28
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
28
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
29
29
  #include "NitroAndroidUpdateOptions.hpp"
30
30
  #include "NitroIOSUpdateOptions.hpp"
31
- #include "NotificationButton.hpp"
32
- #include "NotificationButtonLayout.hpp"
33
31
  #include "PlayerCapabilities.hpp"
32
+ #include "RemoteButton.hpp"
33
+ #include "RemoteButtonLayout.hpp"
34
34
  #include <NitroModules/JNull.hpp>
35
35
  #include <NitroModules/Null.hpp>
36
36
  #include <optional>
@@ -12,11 +12,11 @@
12
12
 
13
13
  #include "AppKilledPlaybackBehavior.hpp"
14
14
  #include "JAppKilledPlaybackBehavior.hpp"
15
- #include "JNotificationButton.hpp"
16
- #include "JNotificationButtonLayout.hpp"
17
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
18
- #include "NotificationButton.hpp"
19
- #include "NotificationButtonLayout.hpp"
15
+ #include "JRemoteButton.hpp"
16
+ #include "JRemoteButtonLayout.hpp"
17
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
18
+ #include "RemoteButton.hpp"
19
+ #include "RemoteButtonLayout.hpp"
20
20
  #include <NitroModules/JNull.hpp>
21
21
  #include <NitroModules/Null.hpp>
22
22
  #include <optional>
@@ -46,12 +46,12 @@ namespace margelo::nitro::audiobrowser {
46
46
  jni::local_ref<JAppKilledPlaybackBehavior> appKilledPlaybackBehavior = this->getFieldValue(fieldAppKilledPlaybackBehavior);
47
47
  static const auto fieldSkipSilence = clazz->getField<jni::JBoolean>("skipSilence");
48
48
  jni::local_ref<jni::JBoolean> skipSilence = this->getFieldValue(fieldSkipSilence);
49
- static const auto fieldNotificationButtons = clazz->getField<JVariant_NullType_NotificationButtonLayout>("notificationButtons");
50
- jni::local_ref<JVariant_NullType_NotificationButtonLayout> notificationButtons = this->getFieldValue(fieldNotificationButtons);
49
+ static const auto fieldRemoteButtonLayout = clazz->getField<JVariant_NullType_RemoteButtonLayout>("remoteButtonLayout");
50
+ jni::local_ref<JVariant_NullType_RemoteButtonLayout> remoteButtonLayout = this->getFieldValue(fieldRemoteButtonLayout);
51
51
  return NitroAndroidUpdateOptions(
52
52
  appKilledPlaybackBehavior != nullptr ? std::make_optional(appKilledPlaybackBehavior->toCpp()) : std::nullopt,
53
53
  skipSilence != nullptr ? std::make_optional(static_cast<bool>(skipSilence->value())) : std::nullopt,
54
- notificationButtons != nullptr ? std::make_optional(notificationButtons->toCpp()) : std::nullopt
54
+ remoteButtonLayout != nullptr ? std::make_optional(remoteButtonLayout->toCpp()) : std::nullopt
55
55
  );
56
56
  }
57
57
 
@@ -61,14 +61,14 @@ namespace margelo::nitro::audiobrowser {
61
61
  */
62
62
  [[maybe_unused]]
63
63
  static jni::local_ref<JNitroAndroidUpdateOptions::javaobject> fromCpp(const NitroAndroidUpdateOptions& value) {
64
- using JSignature = JNitroAndroidUpdateOptions(jni::alias_ref<JAppKilledPlaybackBehavior>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JVariant_NullType_NotificationButtonLayout>);
64
+ using JSignature = JNitroAndroidUpdateOptions(jni::alias_ref<JAppKilledPlaybackBehavior>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JVariant_NullType_RemoteButtonLayout>);
65
65
  static const auto clazz = javaClassStatic();
66
66
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
67
67
  return create(
68
68
  clazz,
69
69
  value.appKilledPlaybackBehavior.has_value() ? JAppKilledPlaybackBehavior::fromCpp(value.appKilledPlaybackBehavior.value()) : nullptr,
70
70
  value.skipSilence.has_value() ? jni::JBoolean::valueOf(value.skipSilence.value()) : nullptr,
71
- value.notificationButtons.has_value() ? JVariant_NullType_NotificationButtonLayout::fromCpp(value.notificationButtons.value()) : nullptr
71
+ value.remoteButtonLayout.has_value() ? JVariant_NullType_RemoteButtonLayout::fromCpp(value.remoteButtonLayout.value()) : nullptr
72
72
  );
73
73
  }
74
74
  };
@@ -22,15 +22,15 @@
22
22
  #include "JFavoriteConfig.hpp"
23
23
  #include "JFavoritesMatchMode.hpp"
24
24
  #include "JIOSOptions.hpp"
25
- #include "JNotificationButton.hpp"
26
- #include "JNotificationButtonLayout.hpp"
27
25
  #include "JPlayerCapabilities.hpp"
26
+ #include "JRemoteButton.hpp"
27
+ #include "JRemoteButtonLayout.hpp"
28
28
  #include "JVariant_Boolean_FavoriteConfig.hpp"
29
29
  #include "JVariant_NullType_Double.hpp"
30
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
31
- #include "NotificationButton.hpp"
32
- #include "NotificationButtonLayout.hpp"
30
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
33
31
  #include "PlayerCapabilities.hpp"
32
+ #include "RemoteButton.hpp"
33
+ #include "RemoteButtonLayout.hpp"
34
34
  #include <NitroModules/JNull.hpp>
35
35
  #include <NitroModules/Null.hpp>
36
36
  #include <optional>
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// JNotificationButton.hpp
2
+ /// JRemoteButton.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
@@ -8,30 +8,30 @@
8
8
  #pragma once
9
9
 
10
10
  #include <fbjni/fbjni.h>
11
- #include "NotificationButton.hpp"
11
+ #include "RemoteButton.hpp"
12
12
 
13
13
  namespace margelo::nitro::audiobrowser {
14
14
 
15
15
  using namespace facebook;
16
16
 
17
17
  /**
18
- * The C++ JNI bridge between the C++ enum "NotificationButton" and the the Kotlin enum "NotificationButton".
18
+ * The C++ JNI bridge between the C++ enum "RemoteButton" and the the Kotlin enum "RemoteButton".
19
19
  */
20
- struct JNotificationButton final: public jni::JavaClass<JNotificationButton> {
20
+ struct JRemoteButton final: public jni::JavaClass<JRemoteButton> {
21
21
  public:
22
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/NotificationButton;";
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/RemoteButton;";
23
23
 
24
24
  public:
25
25
  /**
26
- * Convert this Java/Kotlin-based enum to the C++ enum NotificationButton.
26
+ * Convert this Java/Kotlin-based enum to the C++ enum RemoteButton.
27
27
  */
28
28
  [[maybe_unused]]
29
29
  [[nodiscard]]
30
- NotificationButton toCpp() const {
30
+ RemoteButton toCpp() const {
31
31
  static const auto clazz = javaClassStatic();
32
32
  static const auto fieldOrdinal = clazz->getField<int>("value");
33
33
  int ordinal = this->getFieldValue(fieldOrdinal);
34
- return static_cast<NotificationButton>(ordinal);
34
+ return static_cast<RemoteButton>(ordinal);
35
35
  }
36
36
 
37
37
  public:
@@ -39,23 +39,23 @@ namespace margelo::nitro::audiobrowser {
39
39
  * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
40
  */
41
41
  [[maybe_unused]]
42
- static jni::alias_ref<JNotificationButton> fromCpp(NotificationButton value) {
42
+ static jni::alias_ref<JRemoteButton> fromCpp(RemoteButton value) {
43
43
  static const auto clazz = javaClassStatic();
44
44
  switch (value) {
45
- case NotificationButton::SKIP_TO_PREVIOUS:
46
- static const auto fieldSKIP_TO_PREVIOUS = clazz->getStaticField<JNotificationButton>("SKIP_TO_PREVIOUS");
45
+ case RemoteButton::SKIP_TO_PREVIOUS:
46
+ static const auto fieldSKIP_TO_PREVIOUS = clazz->getStaticField<JRemoteButton>("SKIP_TO_PREVIOUS");
47
47
  return clazz->getStaticFieldValue(fieldSKIP_TO_PREVIOUS);
48
- case NotificationButton::SKIP_TO_NEXT:
49
- static const auto fieldSKIP_TO_NEXT = clazz->getStaticField<JNotificationButton>("SKIP_TO_NEXT");
48
+ case RemoteButton::SKIP_TO_NEXT:
49
+ static const auto fieldSKIP_TO_NEXT = clazz->getStaticField<JRemoteButton>("SKIP_TO_NEXT");
50
50
  return clazz->getStaticFieldValue(fieldSKIP_TO_NEXT);
51
- case NotificationButton::JUMP_BACKWARD:
52
- static const auto fieldJUMP_BACKWARD = clazz->getStaticField<JNotificationButton>("JUMP_BACKWARD");
51
+ case RemoteButton::JUMP_BACKWARD:
52
+ static const auto fieldJUMP_BACKWARD = clazz->getStaticField<JRemoteButton>("JUMP_BACKWARD");
53
53
  return clazz->getStaticFieldValue(fieldJUMP_BACKWARD);
54
- case NotificationButton::JUMP_FORWARD:
55
- static const auto fieldJUMP_FORWARD = clazz->getStaticField<JNotificationButton>("JUMP_FORWARD");
54
+ case RemoteButton::JUMP_FORWARD:
55
+ static const auto fieldJUMP_FORWARD = clazz->getStaticField<JRemoteButton>("JUMP_FORWARD");
56
56
  return clazz->getStaticFieldValue(fieldJUMP_FORWARD);
57
- case NotificationButton::FAVORITE:
58
- static const auto fieldFAVORITE = clazz->getStaticField<JNotificationButton>("FAVORITE");
57
+ case RemoteButton::FAVORITE:
58
+ static const auto fieldFAVORITE = clazz->getStaticField<JRemoteButton>("FAVORITE");
59
59
  return clazz->getStaticFieldValue(fieldFAVORITE);
60
60
  default:
61
61
  std::string stringValue = std::to_string(static_cast<int>(value));
@@ -0,0 +1,86 @@
1
+ ///
2
+ /// JRemoteButtonLayout.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 "RemoteButtonLayout.hpp"
12
+
13
+ #include "JRemoteButton.hpp"
14
+ #include "RemoteButton.hpp"
15
+ #include <optional>
16
+ #include <vector>
17
+
18
+ namespace margelo::nitro::audiobrowser {
19
+
20
+ using namespace facebook;
21
+
22
+ /**
23
+ * The C++ JNI bridge between the C++ struct "RemoteButtonLayout" and the the Kotlin data class "RemoteButtonLayout".
24
+ */
25
+ struct JRemoteButtonLayout final: public jni::JavaClass<JRemoteButtonLayout> {
26
+ public:
27
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/RemoteButtonLayout;";
28
+
29
+ public:
30
+ /**
31
+ * Convert this Java/Kotlin-based struct to the C++ struct RemoteButtonLayout by copying all values to C++.
32
+ */
33
+ [[maybe_unused]]
34
+ [[nodiscard]]
35
+ RemoteButtonLayout toCpp() const {
36
+ static const auto clazz = javaClassStatic();
37
+ static const auto fieldBack = clazz->getField<JRemoteButton>("back");
38
+ jni::local_ref<JRemoteButton> back = this->getFieldValue(fieldBack);
39
+ static const auto fieldForward = clazz->getField<JRemoteButton>("forward");
40
+ jni::local_ref<JRemoteButton> forward = this->getFieldValue(fieldForward);
41
+ static const auto fieldOverflow = clazz->getField<jni::JArrayClass<JRemoteButton>>("overflow");
42
+ jni::local_ref<jni::JArrayClass<JRemoteButton>> overflow = this->getFieldValue(fieldOverflow);
43
+ return RemoteButtonLayout(
44
+ back != nullptr ? std::make_optional(back->toCpp()) : std::nullopt,
45
+ forward != nullptr ? std::make_optional(forward->toCpp()) : std::nullopt,
46
+ [&]() {
47
+ size_t __size = overflow->size();
48
+ std::vector<RemoteButton> __vector;
49
+ __vector.reserve(__size);
50
+ for (size_t __i = 0; __i < __size; __i++) {
51
+ auto __element = overflow->getElement(__i);
52
+ __vector.push_back(__element->toCpp());
53
+ }
54
+ return __vector;
55
+ }()
56
+ );
57
+ }
58
+
59
+ public:
60
+ /**
61
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
62
+ */
63
+ [[maybe_unused]]
64
+ static jni::local_ref<JRemoteButtonLayout::javaobject> fromCpp(const RemoteButtonLayout& value) {
65
+ using JSignature = JRemoteButtonLayout(jni::alias_ref<JRemoteButton>, jni::alias_ref<JRemoteButton>, jni::alias_ref<jni::JArrayClass<JRemoteButton>>);
66
+ static const auto clazz = javaClassStatic();
67
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
68
+ return create(
69
+ clazz,
70
+ value.back.has_value() ? JRemoteButton::fromCpp(value.back.value()) : nullptr,
71
+ value.forward.has_value() ? JRemoteButton::fromCpp(value.forward.value()) : nullptr,
72
+ [&]() {
73
+ size_t __size = value.overflow.size();
74
+ jni::local_ref<jni::JArrayClass<JRemoteButton>> __array = jni::JArrayClass<JRemoteButton>::newArray(__size);
75
+ for (size_t __i = 0; __i < __size; __i++) {
76
+ const auto& __element = value.overflow[__i];
77
+ auto __elementJni = JRemoteButton::fromCpp(__element);
78
+ __array->setElement(__i, *__elementJni);
79
+ }
80
+ return __array;
81
+ }()
82
+ );
83
+ }
84
+ };
85
+
86
+ } // namespace margelo::nitro::audiobrowser
@@ -0,0 +1,26 @@
1
+ ///
2
+ /// JVariant_NullType_RemoteButtonLayout.cpp
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
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
9
+
10
+ namespace margelo::nitro::audiobrowser {
11
+ /**
12
+ * Converts JVariant_NullType_RemoteButtonLayout to std::variant<nitro::NullType, RemoteButtonLayout>
13
+ */
14
+ std::variant<nitro::NullType, RemoteButtonLayout> JVariant_NullType_RemoteButtonLayout::toCpp() const {
15
+ if (isInstanceOf(JVariant_NullType_RemoteButtonLayout_impl::First::javaClassStatic())) {
16
+ // It's a `nitro::NullType`
17
+ auto jniValue = static_cast<const JVariant_NullType_RemoteButtonLayout_impl::First*>(this)->getValue();
18
+ return nitro::null;
19
+ } else if (isInstanceOf(JVariant_NullType_RemoteButtonLayout_impl::Second::javaClassStatic())) {
20
+ // It's a `RemoteButtonLayout`
21
+ auto jniValue = static_cast<const JVariant_NullType_RemoteButtonLayout_impl::Second*>(this)->getValue();
22
+ return jniValue->toCpp();
23
+ }
24
+ throw std::invalid_argument("Variant is unknown Kotlin instance!");
25
+ }
26
+ } // namespace margelo::nitro::audiobrowser
@@ -0,0 +1,75 @@
1
+ ///
2
+ /// JVariant_NullType_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
+ #include <fbjni/fbjni.h>
11
+ #include <variant>
12
+
13
+ #include <NitroModules/Null.hpp>
14
+ #include "RemoteButtonLayout.hpp"
15
+ #include <variant>
16
+ #include <NitroModules/JNull.hpp>
17
+ #include "JRemoteButtonLayout.hpp"
18
+ #include "RemoteButton.hpp"
19
+ #include <optional>
20
+ #include "JRemoteButton.hpp"
21
+ #include <vector>
22
+
23
+ namespace margelo::nitro::audiobrowser {
24
+
25
+ using namespace facebook;
26
+
27
+ /**
28
+ * The C++ JNI bridge between the C++ std::variant and the Java class "Variant_NullType_RemoteButtonLayout".
29
+ */
30
+ class JVariant_NullType_RemoteButtonLayout: public jni::JavaClass<JVariant_NullType_RemoteButtonLayout> {
31
+ public:
32
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/Variant_NullType_RemoteButtonLayout;";
33
+
34
+ static jni::local_ref<JVariant_NullType_RemoteButtonLayout> create_0(jni::alias_ref<JNull> value) {
35
+ static const auto method = javaClassStatic()->getStaticMethod<JVariant_NullType_RemoteButtonLayout(jni::alias_ref<JNull>)>("create");
36
+ return method(javaClassStatic(), value);
37
+ }
38
+ static jni::local_ref<JVariant_NullType_RemoteButtonLayout> create_1(jni::alias_ref<JRemoteButtonLayout> value) {
39
+ static const auto method = javaClassStatic()->getStaticMethod<JVariant_NullType_RemoteButtonLayout(jni::alias_ref<JRemoteButtonLayout>)>("create");
40
+ return method(javaClassStatic(), value);
41
+ }
42
+
43
+ static jni::local_ref<JVariant_NullType_RemoteButtonLayout> fromCpp(const std::variant<nitro::NullType, RemoteButtonLayout>& variant) {
44
+ switch (variant.index()) {
45
+ case 0: return create_0(JNull::null());
46
+ case 1: return create_1(JRemoteButtonLayout::fromCpp(std::get<1>(variant)));
47
+ default: throw std::invalid_argument("Variant holds unknown index! (" + std::to_string(variant.index()) + ")");
48
+ }
49
+ }
50
+
51
+ [[nodiscard]] std::variant<nitro::NullType, RemoteButtonLayout> toCpp() const;
52
+ };
53
+
54
+ namespace JVariant_NullType_RemoteButtonLayout_impl {
55
+ class First final: public jni::JavaClass<First, JVariant_NullType_RemoteButtonLayout> {
56
+ public:
57
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/Variant_NullType_RemoteButtonLayout$First;";
58
+
59
+ [[nodiscard]] jni::local_ref<JNull> getValue() const {
60
+ static const auto field = javaClassStatic()->getField<JNull>("value");
61
+ return getFieldValue(field);
62
+ }
63
+ };
64
+
65
+ class Second final: public jni::JavaClass<Second, JVariant_NullType_RemoteButtonLayout> {
66
+ public:
67
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/Variant_NullType_RemoteButtonLayout$Second;";
68
+
69
+ [[nodiscard]] jni::local_ref<JRemoteButtonLayout> getValue() const {
70
+ static const auto field = javaClassStatic()->getField<JRemoteButtonLayout>("value");
71
+ return getFieldValue(field);
72
+ }
73
+ };
74
+ } // namespace JVariant_NullType_RemoteButtonLayout_impl
75
+ } // namespace margelo::nitro::audiobrowser
@@ -25,7 +25,7 @@ data class AndroidOptions(
25
25
  val skipSilence: Boolean,
26
26
  @DoNotStrip
27
27
  @Keep
28
- val notificationButtons: Variant_NullType_NotificationButtonLayout?
28
+ val remoteButtonLayout: Variant_NullType_RemoteButtonLayout?
29
29
  ) {
30
30
  /* primary constructor */
31
31
 
@@ -37,8 +37,8 @@ data class AndroidOptions(
37
37
  @Keep
38
38
  @Suppress("unused")
39
39
  @JvmStatic
40
- private fun fromCpp(appKilledPlaybackBehavior: AppKilledPlaybackBehavior, skipSilence: Boolean, notificationButtons: Variant_NullType_NotificationButtonLayout?): AndroidOptions {
41
- return AndroidOptions(appKilledPlaybackBehavior, skipSilence, notificationButtons)
40
+ private fun fromCpp(appKilledPlaybackBehavior: AppKilledPlaybackBehavior, skipSilence: Boolean, remoteButtonLayout: Variant_NullType_RemoteButtonLayout?): AndroidOptions {
41
+ return AndroidOptions(appKilledPlaybackBehavior, skipSilence, remoteButtonLayout)
42
42
  }
43
43
  }
44
44
  }
@@ -812,7 +812,7 @@ abstract class HybridAudioBrowserSpec: HybridObject() {
812
812
 
813
813
  @DoNotStrip
814
814
  @Keep
815
- abstract fun onSearch(query: String): Promise<Array<Track>>
815
+ abstract fun search(query: String): Promise<Array<Track>>
816
816
 
817
817
  @DoNotStrip
818
818
  @Keep
@@ -25,7 +25,7 @@ data class NitroAndroidUpdateOptions(
25
25
  val skipSilence: Boolean?,
26
26
  @DoNotStrip
27
27
  @Keep
28
- val notificationButtons: Variant_NullType_NotificationButtonLayout?
28
+ val remoteButtonLayout: Variant_NullType_RemoteButtonLayout?
29
29
  ) {
30
30
  /* primary constructor */
31
31
 
@@ -37,8 +37,8 @@ data class NitroAndroidUpdateOptions(
37
37
  @Keep
38
38
  @Suppress("unused")
39
39
  @JvmStatic
40
- private fun fromCpp(appKilledPlaybackBehavior: AppKilledPlaybackBehavior?, skipSilence: Boolean?, notificationButtons: Variant_NullType_NotificationButtonLayout?): NitroAndroidUpdateOptions {
41
- return NitroAndroidUpdateOptions(appKilledPlaybackBehavior, skipSilence, notificationButtons)
40
+ private fun fromCpp(appKilledPlaybackBehavior: AppKilledPlaybackBehavior?, skipSilence: Boolean?, remoteButtonLayout: Variant_NullType_RemoteButtonLayout?): NitroAndroidUpdateOptions {
41
+ return NitroAndroidUpdateOptions(appKilledPlaybackBehavior, skipSilence, remoteButtonLayout)
42
42
  }
43
43
  }
44
44
  }
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// NotificationButton.kt
2
+ /// RemoteButton.kt
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
@@ -11,11 +11,11 @@ import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
12
 
13
13
  /**
14
- * Represents the JavaScript enum/union "NotificationButton".
14
+ * Represents the JavaScript enum/union "RemoteButton".
15
15
  */
16
16
  @DoNotStrip
17
17
  @Keep
18
- enum class NotificationButton(@DoNotStrip @Keep val value: Int) {
18
+ enum class RemoteButton(@DoNotStrip @Keep val value: Int) {
19
19
  SKIP_TO_PREVIOUS(0),
20
20
  SKIP_TO_NEXT(1),
21
21
  JUMP_BACKWARD(2),
@@ -0,0 +1,44 @@
1
+ ///
2
+ /// RemoteButtonLayout.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.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "RemoteButtonLayout".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class RemoteButtonLayout(
20
+ @DoNotStrip
21
+ @Keep
22
+ val back: RemoteButton?,
23
+ @DoNotStrip
24
+ @Keep
25
+ val forward: RemoteButton?,
26
+ @DoNotStrip
27
+ @Keep
28
+ val overflow: Array<RemoteButton>
29
+ ) {
30
+ /* primary constructor */
31
+
32
+ companion object {
33
+ /**
34
+ * Constructor called from C++
35
+ */
36
+ @DoNotStrip
37
+ @Keep
38
+ @Suppress("unused")
39
+ @JvmStatic
40
+ private fun fromCpp(back: RemoteButton?, forward: RemoteButton?, overflow: Array<RemoteButton>): RemoteButtonLayout {
41
+ return RemoteButtonLayout(back, forward, overflow)
42
+ }
43
+ }
44
+ }
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// Variant_NullType_NotificationButtonLayout.kt
2
+ /// Variant_NullType_RemoteButtonLayout.kt
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
@@ -11,15 +11,15 @@ import com.facebook.proguard.annotations.DoNotStrip
11
11
  import com.margelo.nitro.core.NullType
12
12
 
13
13
  /**
14
- * Represents the TypeScript variant "NullType | NotificationButtonLayout".
14
+ * Represents the TypeScript variant "NullType | RemoteButtonLayout".
15
15
  */
16
16
  @Suppress("ClassName")
17
17
  @DoNotStrip
18
- sealed class Variant_NullType_NotificationButtonLayout {
18
+ sealed class Variant_NullType_RemoteButtonLayout {
19
19
  @DoNotStrip
20
- data class First(@DoNotStrip val value: NullType): Variant_NullType_NotificationButtonLayout()
20
+ data class First(@DoNotStrip val value: NullType): Variant_NullType_RemoteButtonLayout()
21
21
  @DoNotStrip
22
- data class Second(@DoNotStrip val value: NotificationButtonLayout): Variant_NullType_NotificationButtonLayout()
22
+ data class Second(@DoNotStrip val value: RemoteButtonLayout): Variant_NullType_RemoteButtonLayout()
23
23
 
24
24
  val isFirst: Boolean
25
25
  get() = this is First
@@ -30,12 +30,12 @@ sealed class Variant_NullType_NotificationButtonLayout {
30
30
  val value = (this as? First)?.value ?: return null
31
31
  return value
32
32
  }
33
- fun asSecondOrNull(): NotificationButtonLayout? {
33
+ fun asSecondOrNull(): RemoteButtonLayout? {
34
34
  val value = (this as? Second)?.value ?: return null
35
35
  return value
36
36
  }
37
37
 
38
- inline fun <R> match(first: (NullType) -> R, second: (NotificationButtonLayout) -> R): R {
38
+ inline fun <R> match(first: (NullType) -> R, second: (RemoteButtonLayout) -> R): R {
39
39
  return when (this) {
40
40
  is First -> first(value)
41
41
  is Second -> second(value)
@@ -45,9 +45,9 @@ sealed class Variant_NullType_NotificationButtonLayout {
45
45
  companion object {
46
46
  @JvmStatic
47
47
  @DoNotStrip
48
- fun create(value: NullType): Variant_NullType_NotificationButtonLayout = First(value)
48
+ fun create(value: NullType): Variant_NullType_RemoteButtonLayout = First(value)
49
49
  @JvmStatic
50
50
  @DoNotStrip
51
- fun create(value: NotificationButtonLayout): Variant_NullType_NotificationButtonLayout = Second(value)
51
+ fun create(value: RemoteButtonLayout): Variant_NullType_RemoteButtonLayout = Second(value)
52
52
  }
53
53
  }