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

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 (416) hide show
  1. package/README.md +14 -4
  2. package/android/build.gradle +20 -1
  3. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +115 -26
  4. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +262 -188
  5. package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +23 -3
  6. package/android/src/main/java/com/audiobrowser/browser/InertStyleDiagnostic.kt +267 -0
  7. package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +95 -58
  8. package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +68 -26
  9. package/android/src/main/java/com/audiobrowser/browser/StyleResolver.kt +60 -0
  10. package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +19 -7
  11. package/android/src/main/java/com/audiobrowser/extension/TappedTrack.kt +20 -0
  12. package/android/src/main/java/com/audiobrowser/extension/TrackIdentity.kt +15 -0
  13. package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +1 -1
  14. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +120 -67
  15. package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +21 -24
  16. package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +109 -74
  17. package/android/src/main/java/com/audiobrowser/player/Player.kt +51 -30
  18. package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +2 -15
  19. package/android/src/main/java/com/audiobrowser/player/ShuffleOrderLedBy.kt +30 -0
  20. package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +44 -40
  21. package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +28 -23
  22. package/android/src/main/java/com/audiobrowser/util/StyleWire.kt +108 -0
  23. package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +52 -53
  24. package/android/src/test/java/com/audiobrowser/TestFixtures.kt +74 -41
  25. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerFavoritesTest.kt +153 -0
  26. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +229 -50
  27. package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +38 -0
  28. package/android/src/test/java/com/audiobrowser/browser/InertStyleDiagnosticTest.kt +277 -0
  29. package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +1 -1
  30. package/android/src/test/java/com/audiobrowser/browser/JsonStyleTest.kt +147 -0
  31. package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +128 -53
  32. package/android/src/test/java/com/audiobrowser/browser/StyleResolverTest.kt +154 -0
  33. package/android/src/test/java/com/audiobrowser/extension/TappedTrackTest.kt +43 -0
  34. package/android/src/test/java/com/audiobrowser/extension/TrackIdentityTest.kt +41 -0
  35. package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +1 -2
  36. package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +42 -2
  37. package/android/src/test/java/com/audiobrowser/player/PlaybackStateStoreTrackJsonTest.kt +55 -0
  38. package/android/src/test/java/com/audiobrowser/player/ShuffleOrderLedByTest.kt +79 -0
  39. package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +41 -16
  40. package/android/src/test/java/com/audiobrowser/util/MediaExtrasBuilderTest.kt +161 -0
  41. package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +7 -7
  42. package/ios/Browser/BrowserConfig.swift +102 -5
  43. package/ios/Browser/BrowserManager+URLResolution.swift +18 -14
  44. package/ios/Browser/BrowserManager.swift +229 -180
  45. package/ios/Browser/BrowserPathHelper.swift +44 -44
  46. package/ios/Browser/InertStyleDiagnostic.swift +279 -0
  47. package/ios/Browser/JsonModels.swift +258 -106
  48. package/ios/Browser/SearchDrillIn.swift +6 -6
  49. package/ios/Browser/SectionPresentation.swift +64 -0
  50. package/ios/Browser/SectionScope.swift +58 -24
  51. package/ios/Browser/StyleResolver.swift +58 -0
  52. package/ios/Browser/TabBarEntries.swift +9 -3
  53. package/ios/Browser/TrackIdTemplate.swift +37 -0
  54. package/ios/CarPlay/CarPlayArtworkResolver.swift +8 -7
  55. package/ios/CarPlay/CarPlayController.swift +227 -85
  56. package/ios/CarPlay/CarPlayImageLoader.swift +38 -18
  57. package/ios/CarPlay/CarPlayListItemFactory.swift +289 -84
  58. package/ios/CarPlay/CarPlayNowPlayingManager.swift +15 -12
  59. package/ios/Extension/Capability+RemoteCommand.swift +1 -1
  60. package/ios/Extension/PlayerCapabilities+Favorite.swift +1 -15
  61. package/ios/Extension/ResolvedTrack+Copying.swift +11 -15
  62. package/ios/Extension/Section+Copying.swift +31 -0
  63. package/ios/Extension/Track+Copying.swift +6 -12
  64. package/ios/Extension/Track+Identity.swift +18 -0
  65. package/ios/Extension/UIApplication+ActiveScene.swift +27 -0
  66. package/ios/Http/HttpClient.swift +8 -2
  67. package/ios/HybridAudioBrowser.swift +166 -45
  68. package/ios/Model/NitroTypeStubs.swift +106 -21
  69. package/ios/Model/PlayerUpdateOptions.swift +7 -0
  70. package/ios/Player/MediaIntentCriteria.swift +13 -5
  71. package/ios/Player/MediaLoader.swift +33 -9
  72. package/ios/Player/NowPlayingUpdater.swift +54 -6
  73. package/ios/Player/PlaybackCoordinator.swift +13 -6
  74. package/ios/Player/PlaybackTimer.swift +8 -2
  75. package/ios/Player/QueueManager.swift +36 -10
  76. package/ios/Player/RetryManager.swift +4 -3
  77. package/ios/Player/ShuffleOrder.swift +23 -0
  78. package/ios/Player/SleepTimerHandling.swift +13 -0
  79. package/ios/RemoteCommand/RemoteCommandController.swift +53 -18
  80. package/ios/Tests/BrowserPathHelperTests.swift +50 -20
  81. package/ios/Tests/CarPlayArtworkResolverTests.swift +24 -41
  82. package/ios/Tests/InertStyleDiagnosticTests.swift +200 -0
  83. package/ios/Tests/JsonModelsTests.swift +150 -1
  84. package/ios/Tests/PlaybackStateStoreTests.swift +4 -3
  85. package/ios/Tests/QueueManagerTests.swift +72 -6
  86. package/ios/Tests/RemoteCommandControllerTests.swift +16 -0
  87. package/ios/Tests/ResolvedTrackCopyingTests.swift +37 -35
  88. package/ios/Tests/SearchDrillInTests.swift +16 -16
  89. package/ios/Tests/SectionPresentationTests.swift +90 -0
  90. package/ios/Tests/SectionScopeTests.swift +87 -55
  91. package/ios/Tests/StyleResolverTests.swift +127 -0
  92. package/ios/Tests/Support/TestTypes.swift +7 -0
  93. package/ios/Tests/TabBarEntriesTests.swift +18 -18
  94. package/ios/Tests/TrackIdTemplateTests.swift +67 -0
  95. package/ios/Tests/TrackIdentityTests.swift +20 -0
  96. package/ios/Tests/TrackSelectorTests.swift +168 -33
  97. package/ios/TrackPlayer.swift +57 -34
  98. package/ios/TrackSelector.swift +45 -30
  99. package/ios/Util/ArtworkImageFetcher.swift +16 -1
  100. package/ios/Util/NetworkMonitor.swift +43 -26
  101. package/ios/Util/SFSymbolRenderer.swift +24 -2
  102. package/ios/Util/SVGProcessor.swift +9 -2
  103. package/lib/commonjs/AudioBrowser.js +11 -0
  104. package/lib/commonjs/AudioBrowser.js.map +1 -1
  105. package/lib/commonjs/features/browser-config.js +11 -8
  106. package/lib/commonjs/features/browser-config.js.map +1 -1
  107. package/lib/commonjs/features/browser.js +2 -2
  108. package/lib/commonjs/features/favorites.js +13 -10
  109. package/lib/commonjs/features/favorites.js.map +1 -1
  110. package/lib/commonjs/features/playback/controls.js +4 -2
  111. package/lib/commonjs/features/playback/controls.js.map +1 -1
  112. package/lib/commonjs/features/playback/progress.js +2 -1
  113. package/lib/commonjs/features/playback/progress.js.map +1 -1
  114. package/lib/commonjs/features/playback/rate.js +8 -1
  115. package/lib/commonjs/features/playback/rate.js.map +1 -1
  116. package/lib/commonjs/features/playback/state.js +2 -3
  117. package/lib/commonjs/features/playback/state.js.map +1 -1
  118. package/lib/commonjs/features/player/options.js.map +1 -1
  119. package/lib/commonjs/features/player/setup.js +3 -1
  120. package/lib/commonjs/features/player/setup.js.map +1 -1
  121. package/lib/commonjs/features/player/validateOptions.js +2 -0
  122. package/lib/commonjs/features/player/validateOptions.js.map +1 -1
  123. package/lib/commonjs/features/queue/activeTrack.js +14 -3
  124. package/lib/commonjs/features/queue/activeTrack.js.map +1 -1
  125. package/lib/commonjs/features/queue/queue.js +11 -4
  126. package/lib/commonjs/features/queue/queue.js.map +1 -1
  127. package/lib/commonjs/utils/LazyNativeEmitter.js +21 -10
  128. package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
  129. package/lib/commonjs/utils/NativeUpdatedValue.js +31 -13
  130. package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
  131. package/lib/commonjs/utils/getTrackIdentity.js +24 -0
  132. package/lib/commonjs/utils/getTrackIdentity.js.map +1 -0
  133. package/lib/commonjs/utils/useNativeValueRefreshedBy.js +33 -0
  134. package/lib/commonjs/utils/useNativeValueRefreshedBy.js.map +1 -0
  135. package/lib/commonjs/web/NativeAudioBrowser.js +32 -24
  136. package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
  137. package/lib/commonjs/web/TrackPlayer/QueueManager.js +14 -0
  138. package/lib/commonjs/web/TrackPlayer/QueueManager.js.map +1 -1
  139. package/lib/commonjs/web/browser/BrowserManager.js +144 -87
  140. package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
  141. package/lib/commonjs/web/browser/FavoriteManager.js +30 -21
  142. package/lib/commonjs/web/browser/FavoriteManager.js.map +1 -1
  143. package/lib/commonjs/web/browser/assertBrowsePageShape.js +2 -2
  144. package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +1 -1
  145. package/lib/commonjs/web/browser/classifyTrackNavigation.js +9 -9
  146. package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +1 -1
  147. package/lib/commonjs/web/browser/sections.js +89 -0
  148. package/lib/commonjs/web/browser/sections.js.map +1 -0
  149. package/lib/commonjs/web/player/NowPlayingManager.js +4 -3
  150. package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
  151. package/lib/commonjs/web/util/BrowserPathHelper.js +56 -11
  152. package/lib/commonjs/web/util/BrowserPathHelper.js.map +1 -1
  153. package/lib/module/AudioBrowser.js +1 -0
  154. package/lib/module/AudioBrowser.js.map +1 -1
  155. package/lib/module/features/browser-config.js +11 -8
  156. package/lib/module/features/browser-config.js.map +1 -1
  157. package/lib/module/features/browser.js +2 -2
  158. package/lib/module/features/favorites.js +13 -10
  159. package/lib/module/features/favorites.js.map +1 -1
  160. package/lib/module/features/playback/controls.js +4 -2
  161. package/lib/module/features/playback/controls.js.map +1 -1
  162. package/lib/module/features/playback/progress.js +2 -1
  163. package/lib/module/features/playback/progress.js.map +1 -1
  164. package/lib/module/features/playback/rate.js +8 -1
  165. package/lib/module/features/playback/rate.js.map +1 -1
  166. package/lib/module/features/playback/state.js +2 -3
  167. package/lib/module/features/playback/state.js.map +1 -1
  168. package/lib/module/features/player/options.js.map +1 -1
  169. package/lib/module/features/player/setup.js +3 -1
  170. package/lib/module/features/player/setup.js.map +1 -1
  171. package/lib/module/features/player/validateOptions.js +2 -0
  172. package/lib/module/features/player/validateOptions.js.map +1 -1
  173. package/lib/module/features/queue/activeTrack.js +14 -3
  174. package/lib/module/features/queue/activeTrack.js.map +1 -1
  175. package/lib/module/features/queue/queue.js +11 -4
  176. package/lib/module/features/queue/queue.js.map +1 -1
  177. package/lib/module/utils/LazyNativeEmitter.js +21 -10
  178. package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
  179. package/lib/module/utils/NativeUpdatedValue.js +31 -13
  180. package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
  181. package/lib/module/utils/getTrackIdentity.js +20 -0
  182. package/lib/module/utils/getTrackIdentity.js.map +1 -0
  183. package/lib/module/utils/useNativeValueRefreshedBy.js +29 -0
  184. package/lib/module/utils/useNativeValueRefreshedBy.js.map +1 -0
  185. package/lib/module/web/NativeAudioBrowser.js +32 -24
  186. package/lib/module/web/NativeAudioBrowser.js.map +1 -1
  187. package/lib/module/web/TrackPlayer/QueueManager.js +14 -0
  188. package/lib/module/web/TrackPlayer/QueueManager.js.map +1 -1
  189. package/lib/module/web/browser/BrowserManager.js +144 -87
  190. package/lib/module/web/browser/BrowserManager.js.map +1 -1
  191. package/lib/module/web/browser/FavoriteManager.js +31 -21
  192. package/lib/module/web/browser/FavoriteManager.js.map +1 -1
  193. package/lib/module/web/browser/assertBrowsePageShape.js +2 -2
  194. package/lib/module/web/browser/assertBrowsePageShape.js.map +1 -1
  195. package/lib/module/web/browser/classifyTrackNavigation.js +9 -9
  196. package/lib/module/web/browser/classifyTrackNavigation.js.map +1 -1
  197. package/lib/module/web/browser/sections.js +83 -0
  198. package/lib/module/web/browser/sections.js.map +1 -0
  199. package/lib/module/web/player/NowPlayingManager.js +4 -3
  200. package/lib/module/web/player/NowPlayingManager.js.map +1 -1
  201. package/lib/module/web/util/BrowserPathHelper.js +56 -11
  202. package/lib/module/web/util/BrowserPathHelper.js.map +1 -1
  203. package/lib/typescript/src/AudioBrowser.d.ts +1 -0
  204. package/lib/typescript/src/AudioBrowser.d.ts.map +1 -1
  205. package/lib/typescript/src/features/browser-config.d.ts.map +1 -1
  206. package/lib/typescript/src/features/browser.d.ts +2 -2
  207. package/lib/typescript/src/features/favorites.d.ts +13 -10
  208. package/lib/typescript/src/features/favorites.d.ts.map +1 -1
  209. package/lib/typescript/src/features/playback/controls.d.ts +4 -2
  210. package/lib/typescript/src/features/playback/controls.d.ts.map +1 -1
  211. package/lib/typescript/src/features/playback/progress.d.ts.map +1 -1
  212. package/lib/typescript/src/features/playback/rate.d.ts +8 -1
  213. package/lib/typescript/src/features/playback/rate.d.ts.map +1 -1
  214. package/lib/typescript/src/features/playback/state.d.ts +2 -3
  215. package/lib/typescript/src/features/playback/state.d.ts.map +1 -1
  216. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +1 -1
  217. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +1 -1
  218. package/lib/typescript/src/features/player/options.d.ts +21 -19
  219. package/lib/typescript/src/features/player/options.d.ts.map +1 -1
  220. package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
  221. package/lib/typescript/src/features/player/validateOptions.d.ts +1 -8
  222. package/lib/typescript/src/features/player/validateOptions.d.ts.map +1 -1
  223. package/lib/typescript/src/features/queue/activeTrack.d.ts +8 -1
  224. package/lib/typescript/src/features/queue/activeTrack.d.ts.map +1 -1
  225. package/lib/typescript/src/features/queue/queue.d.ts +5 -2
  226. package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
  227. package/lib/typescript/src/types/browser-native.d.ts +2 -2
  228. package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
  229. package/lib/typescript/src/types/browser-nodes.d.ts +361 -126
  230. package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
  231. package/lib/typescript/src/types/browser.d.ts +33 -53
  232. package/lib/typescript/src/types/browser.d.ts.map +1 -1
  233. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +16 -17
  234. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
  235. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +24 -19
  236. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
  237. package/lib/typescript/src/utils/getTrackIdentity.d.ts +18 -0
  238. package/lib/typescript/src/utils/getTrackIdentity.d.ts.map +1 -0
  239. package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts +21 -0
  240. package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts.map +1 -0
  241. package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +0 -1
  242. package/nitrogen/generated/android/c++/{JFavoritesMatchMode.hpp → JArtworkRendering.hpp} +15 -15
  243. package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +8 -3
  244. package/nitrogen/generated/android/c++/JBrowseResult.hpp +16 -4
  245. package/nitrogen/generated/android/c++/JCarPlayPlayingIndicatorLocation.hpp +58 -0
  246. package/nitrogen/generated/android/c++/JCardImage.hpp +58 -0
  247. package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +8 -3
  248. package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +8 -3
  249. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +8 -3
  250. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +8 -3
  251. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +8 -3
  252. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +8 -3
  253. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +8 -2
  254. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +8 -2
  255. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp +16 -4
  256. package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +8 -3
  257. package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +2 -5
  258. package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +8 -3
  259. package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +15 -3
  260. package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +8 -2
  261. package/nitrogen/generated/android/c++/JGridTile.hpp +61 -0
  262. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +33 -14
  263. package/nitrogen/generated/android/c++/JIOSOptions.hpp +9 -3
  264. package/nitrogen/generated/android/c++/JImageShape.hpp +58 -0
  265. package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +8 -3
  266. package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +22 -10
  267. package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +14 -2
  268. package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +10 -7
  269. package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +2 -5
  270. package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +9 -3
  271. package/nitrogen/generated/android/c++/JOptions.hpp +2 -5
  272. package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +8 -3
  273. package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +5 -11
  274. package/nitrogen/generated/android/c++/JResolvedTrack.hpp +55 -51
  275. package/nitrogen/generated/android/c++/JSection.hpp +120 -0
  276. package/nitrogen/generated/android/c++/JSectionStyle.hpp +96 -0
  277. package/nitrogen/generated/android/c++/JStyleDisplay.hpp +58 -0
  278. package/nitrogen/generated/android/c++/JTrack.hpp +23 -48
  279. package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +8 -2
  280. package/nitrogen/generated/android/c++/JTrackStyle.hpp +46 -18
  281. package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +16 -4
  282. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoritesMatchMode.kt → ArtworkRendering.kt} +5 -5
  283. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayPlayingIndicatorLocation.kt +23 -0
  284. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CardImage.kt +23 -0
  285. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/GridTile.kt +24 -0
  286. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +6 -3
  287. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageShape.kt +23 -0
  288. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +5 -5
  289. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +6 -3
  290. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +2 -2
  291. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +12 -18
  292. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoriteConfig.kt → Section.kt} +18 -6
  293. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SectionStyle.kt +59 -0
  294. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StyleDisplay.kt +23 -0
  295. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +6 -15
  296. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackStyle.kt +35 -5
  297. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +158 -82
  298. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +25 -10
  299. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +25 -10
  300. package/nitrogen/generated/ios/swift/ArtworkRendering.swift +40 -0
  301. package/nitrogen/generated/ios/swift/CarPlayPlayingIndicatorLocation.swift +40 -0
  302. package/nitrogen/generated/ios/swift/CardImage.swift +40 -0
  303. package/nitrogen/generated/ios/swift/GridTile.swift +44 -0
  304. package/nitrogen/generated/ios/swift/IOSOptions.swift +7 -2
  305. package/nitrogen/generated/ios/swift/ImageShape.swift +40 -0
  306. package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +5 -5
  307. package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +12 -1
  308. package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +8 -27
  309. package/nitrogen/generated/ios/swift/ResolvedTrack.swift +54 -83
  310. package/nitrogen/generated/ios/swift/Section.swift +100 -0
  311. package/nitrogen/generated/ios/swift/SectionStyle.swift +133 -0
  312. package/nitrogen/generated/ios/swift/StyleDisplay.swift +40 -0
  313. package/nitrogen/generated/ios/swift/Track.swift +20 -73
  314. package/nitrogen/generated/ios/swift/TrackStyle.swift +86 -22
  315. package/nitrogen/generated/shared/c++/{FavoritesMatchMode.hpp → ArtworkRendering.hpp} +17 -17
  316. package/nitrogen/generated/shared/c++/CarPlayPlayingIndicatorLocation.hpp +76 -0
  317. package/nitrogen/generated/shared/c++/CardImage.hpp +76 -0
  318. package/nitrogen/generated/shared/c++/GridTile.hpp +80 -0
  319. package/nitrogen/generated/shared/c++/IOSOptions.hpp +9 -2
  320. package/nitrogen/generated/shared/c++/ImageShape.hpp +76 -0
  321. package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +6 -6
  322. package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +9 -2
  323. package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +6 -9
  324. package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +30 -38
  325. package/nitrogen/generated/shared/c++/Section.hpp +106 -0
  326. package/nitrogen/generated/shared/c++/SectionStyle.hpp +126 -0
  327. package/nitrogen/generated/shared/c++/StyleDisplay.hpp +76 -0
  328. package/nitrogen/generated/shared/c++/Track.hpp +15 -31
  329. package/nitrogen/generated/shared/c++/TrackStyle.hpp +73 -34
  330. package/package.json +7 -2
  331. package/src/AudioBrowser.ts +1 -0
  332. package/src/features/browser-config.test.ts +21 -6
  333. package/src/features/browser-config.ts +11 -8
  334. package/src/features/browser.test.ts +1 -1
  335. package/src/features/browser.ts +2 -2
  336. package/src/features/favorites.ts +13 -10
  337. package/src/features/hook-wiring.test.ts +63 -15
  338. package/src/features/playback/controls.ts +4 -2
  339. package/src/features/playback/progress.ts +2 -1
  340. package/src/features/playback/rate.ts +8 -1
  341. package/src/features/playback/state.ts +2 -3
  342. package/src/features/playback/trackPlaybackTime.ts +1 -1
  343. package/src/features/player/options.ts +27 -19
  344. package/src/features/player/setup.test.ts +12 -3
  345. package/src/features/player/setup.ts +3 -1
  346. package/src/features/player/validateOptions.ts +2 -0
  347. package/src/features/queue/activeTrack.ts +14 -3
  348. package/src/features/queue/queue.ts +11 -4
  349. package/src/nitro-stub-drift.test.ts +40 -0
  350. package/src/public-surface.test.ts +40 -0
  351. package/src/specs/audio-browser.nitro.ts +4 -3
  352. package/src/style-resolution.test.ts +210 -0
  353. package/src/types/browser-native.ts +2 -2
  354. package/src/types/browser-nodes.ts +377 -135
  355. package/src/types/browser.ts +34 -55
  356. package/src/utils/LazyNativeEmitter.ts +20 -10
  357. package/src/utils/NativeUpdatedValue.ts +29 -13
  358. package/src/utils/getTrackIdentity.ts +20 -0
  359. package/src/utils/useNativeValueRefreshedBy.ts +38 -0
  360. package/src/web/NativeAudioBrowser.ts +37 -22
  361. package/src/web/TrackPlayer/QueueManager.test.ts +29 -0
  362. package/src/web/TrackPlayer/QueueManager.ts +14 -0
  363. package/src/web/browser/BrowserManager.ts +176 -95
  364. package/src/web/browser/FavoriteManager.test.ts +84 -0
  365. package/src/web/browser/FavoriteManager.ts +28 -23
  366. package/src/web/browser/assertBrowsePageShape.test.ts +1 -1
  367. package/src/web/browser/assertBrowsePageShape.ts +5 -3
  368. package/src/web/browser/classifyTrackNavigation.test.ts +10 -8
  369. package/src/web/browser/classifyTrackNavigation.ts +9 -9
  370. package/src/web/browser/parseSearchResponse.test.ts +8 -2
  371. package/src/web/browser/sections.test.ts +91 -0
  372. package/src/web/browser/sections.ts +72 -0
  373. package/src/web/player/NowPlayingManager.ts +4 -3
  374. package/src/web/util/BrowserPathHelper.test.ts +52 -0
  375. package/src/web/util/BrowserPathHelper.ts +61 -13
  376. package/website/guide/android-auto.md +114 -0
  377. package/website/guide/android-certificates.md +409 -0
  378. package/website/guide/artwork.md +255 -0
  379. package/website/guide/audio-output.md +135 -0
  380. package/website/guide/automotive.md +86 -0
  381. package/website/guide/basic-usage.md +151 -0
  382. package/website/guide/battery.md +115 -0
  383. package/website/guide/browser.md +581 -0
  384. package/website/guide/carplay.md +620 -0
  385. package/website/guide/configuration.md +173 -0
  386. package/website/guide/equalizer.md +231 -0
  387. package/website/guide/errors.md +310 -0
  388. package/website/guide/favorites.md +154 -0
  389. package/website/guide/gate.md +143 -0
  390. package/website/guide/getting-started.md +46 -0
  391. package/website/guide/hooks.md +238 -0
  392. package/website/guide/live-streams.md +125 -0
  393. package/website/guide/metadata.md +239 -0
  394. package/website/guide/migrating-from-track-player.md +244 -0
  395. package/website/guide/native-callback-fetch.md +127 -0
  396. package/website/guide/network.md +86 -0
  397. package/website/guide/now-playing.md +175 -0
  398. package/website/guide/playback.md +328 -0
  399. package/website/guide/queue.md +300 -0
  400. package/website/guide/remote-controls.md +256 -0
  401. package/website/guide/search.md +255 -0
  402. package/website/guide/sleep-timer.md +268 -0
  403. package/website/guide/track.md +246 -0
  404. package/ios/CarPlay/ImageRowItem+CarPlay.swift +0 -19
  405. package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +0 -58
  406. package/nitrogen/generated/android/c++/JImageRowItem.hpp +0 -105
  407. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp +0 -26
  408. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.hpp +0 -71
  409. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +0 -68
  410. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +0 -53
  411. package/nitrogen/generated/ios/swift/FavoriteConfig.swift +0 -29
  412. package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +0 -40
  413. package/nitrogen/generated/ios/swift/ImageRowItem.swift +0 -195
  414. package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +0 -18
  415. package/nitrogen/generated/shared/c++/FavoriteConfig.hpp +0 -84
  416. package/nitrogen/generated/shared/c++/ImageRowItem.hpp +0 -129
@@ -0,0 +1,58 @@
1
+ ///
2
+ /// JCardImage.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 "CardImage.hpp"
12
+
13
+ namespace margelo::nitro::audiobrowser {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "CardImage" and the the Kotlin enum "CardImage".
19
+ */
20
+ struct JCardImage final: public jni::JavaClass<JCardImage> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/CardImage;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum CardImage.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ CardImage toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<CardImage>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JCardImage> fromCpp(CardImage value) {
43
+ static const auto clazz = javaClassStatic();
44
+ switch (value) {
45
+ case CardImage::NORMAL:
46
+ static const auto fieldNORMAL = clazz->getStaticField<JCardImage>("NORMAL");
47
+ return clazz->getStaticFieldValue(fieldNORMAL);
48
+ case CardImage::BACKGROUND:
49
+ static const auto fieldBACKGROUND = clazz->getStaticField<JCardImage>("BACKGROUND");
50
+ return clazz->getStaticFieldValue(fieldBACKGROUND);
51
+ default:
52
+ std::string stringValue = std::to_string(static_cast<int>(value));
53
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
54
+ }
55
+ }
56
+ };
57
+
58
+ } // namespace margelo::nitro::audiobrowser
@@ -10,18 +10,24 @@
10
10
  #include <fbjni/fbjni.h>
11
11
  #include "FavoriteChangedEvent.hpp"
12
12
 
13
+ #include "ArtworkRendering.hpp"
13
14
  #include "ArtworkVariants.hpp"
15
+ #include "CardImage.hpp"
14
16
  #include "HttpMethod.hpp"
15
- #include "ImageRowItem.hpp"
17
+ #include "ImageShape.hpp"
16
18
  #include "ImageSource.hpp"
19
+ #include "JArtworkRendering.hpp"
17
20
  #include "JArtworkVariants.hpp"
21
+ #include "JCardImage.hpp"
18
22
  #include "JHttpMethod.hpp"
19
- #include "JImageRowItem.hpp"
23
+ #include "JImageShape.hpp"
20
24
  #include "JImageSource.hpp"
25
+ #include "JStyleDisplay.hpp"
21
26
  #include "JTrack.hpp"
22
27
  #include "JTrackRequest.hpp"
23
28
  #include "JTrackStyle.hpp"
24
29
  #include "JVariant_String_ArtworkVariants.hpp"
30
+ #include "StyleDisplay.hpp"
25
31
  #include "Track.hpp"
26
32
  #include "TrackRequest.hpp"
27
33
  #include "TrackStyle.hpp"
@@ -29,7 +35,6 @@
29
35
  #include <string>
30
36
  #include <unordered_map>
31
37
  #include <variant>
32
- #include <vector>
33
38
 
34
39
  namespace margelo::nitro::audiobrowser {
35
40
 
@@ -10,17 +10,22 @@
10
10
  #include <fbjni/fbjni.h>
11
11
  #include "FormatNowPlayingParams.hpp"
12
12
 
13
+ #include "ArtworkRendering.hpp"
13
14
  #include "ArtworkVariants.hpp"
15
+ #include "CardImage.hpp"
14
16
  #include "HttpMethod.hpp"
15
- #include "ImageRowItem.hpp"
17
+ #include "ImageShape.hpp"
16
18
  #include "ImageSource.hpp"
19
+ #include "JArtworkRendering.hpp"
17
20
  #include "JArtworkVariants.hpp"
21
+ #include "JCardImage.hpp"
18
22
  #include "JHttpMethod.hpp"
19
- #include "JImageRowItem.hpp"
23
+ #include "JImageShape.hpp"
20
24
  #include "JImageSource.hpp"
21
25
  #include "JPlaybackError.hpp"
22
26
  #include "JPlaybackErrorKind.hpp"
23
27
  #include "JStallReason.hpp"
28
+ #include "JStyleDisplay.hpp"
24
29
  #include "JTimedMetadata.hpp"
25
30
  #include "JTrack.hpp"
26
31
  #include "JTrackRequest.hpp"
@@ -29,6 +34,7 @@
29
34
  #include "PlaybackError.hpp"
30
35
  #include "PlaybackErrorKind.hpp"
31
36
  #include "StallReason.hpp"
37
+ #include "StyleDisplay.hpp"
32
38
  #include "TimedMetadata.hpp"
33
39
  #include "Track.hpp"
34
40
  #include "TrackRequest.hpp"
@@ -37,7 +43,6 @@
37
43
  #include <string>
38
44
  #include <unordered_map>
39
45
  #include <variant>
40
- #include <vector>
41
46
 
42
47
  namespace margelo::nitro::audiobrowser {
43
48
 
@@ -33,9 +33,14 @@
33
33
  #include "JTrackRequest.hpp"
34
34
  #include "TrackStyle.hpp"
35
35
  #include "JTrackStyle.hpp"
36
- #include "ImageRowItem.hpp"
37
- #include <vector>
38
- #include "JImageRowItem.hpp"
36
+ #include "StyleDisplay.hpp"
37
+ #include "JStyleDisplay.hpp"
38
+ #include "ArtworkRendering.hpp"
39
+ #include "JArtworkRendering.hpp"
40
+ #include "ImageShape.hpp"
41
+ #include "JImageShape.hpp"
42
+ #include "CardImage.hpp"
43
+ #include "JCardImage.hpp"
39
44
 
40
45
  namespace margelo::nitro::audiobrowser {
41
46
 
@@ -35,9 +35,14 @@
35
35
  #include "JTrackRequest.hpp"
36
36
  #include "TrackStyle.hpp"
37
37
  #include "JTrackStyle.hpp"
38
- #include "ImageRowItem.hpp"
39
- #include <vector>
40
- #include "JImageRowItem.hpp"
38
+ #include "StyleDisplay.hpp"
39
+ #include "JStyleDisplay.hpp"
40
+ #include "ArtworkRendering.hpp"
41
+ #include "JArtworkRendering.hpp"
42
+ #include "ImageShape.hpp"
43
+ #include "JImageShape.hpp"
44
+ #include "CardImage.hpp"
45
+ #include "JCardImage.hpp"
41
46
  #include "TimedMetadata.hpp"
42
47
  #include "JTimedMetadata.hpp"
43
48
  #include "StallReason.hpp"
@@ -31,9 +31,14 @@
31
31
  #include "JTrackRequest.hpp"
32
32
  #include "TrackStyle.hpp"
33
33
  #include "JTrackStyle.hpp"
34
- #include "ImageRowItem.hpp"
35
- #include <vector>
36
- #include "JImageRowItem.hpp"
34
+ #include "StyleDisplay.hpp"
35
+ #include "JStyleDisplay.hpp"
36
+ #include "ArtworkRendering.hpp"
37
+ #include "JArtworkRendering.hpp"
38
+ #include "ImageShape.hpp"
39
+ #include "JImageShape.hpp"
40
+ #include "CardImage.hpp"
41
+ #include "JCardImage.hpp"
37
42
 
38
43
  namespace margelo::nitro::audiobrowser {
39
44
 
@@ -33,9 +33,14 @@
33
33
  #include "JTrackRequest.hpp"
34
34
  #include "TrackStyle.hpp"
35
35
  #include "JTrackStyle.hpp"
36
- #include "ImageRowItem.hpp"
37
- #include <vector>
38
- #include "JImageRowItem.hpp"
36
+ #include "StyleDisplay.hpp"
37
+ #include "JStyleDisplay.hpp"
38
+ #include "ArtworkRendering.hpp"
39
+ #include "JArtworkRendering.hpp"
40
+ #include "ImageShape.hpp"
41
+ #include "JImageShape.hpp"
42
+ #include "CardImage.hpp"
43
+ #include "JCardImage.hpp"
39
44
 
40
45
  namespace margelo::nitro::audiobrowser {
41
46
 
@@ -33,8 +33,14 @@
33
33
  #include "JTrackRequest.hpp"
34
34
  #include "TrackStyle.hpp"
35
35
  #include "JTrackStyle.hpp"
36
- #include "ImageRowItem.hpp"
37
- #include "JImageRowItem.hpp"
36
+ #include "StyleDisplay.hpp"
37
+ #include "JStyleDisplay.hpp"
38
+ #include "ArtworkRendering.hpp"
39
+ #include "JArtworkRendering.hpp"
40
+ #include "ImageShape.hpp"
41
+ #include "JImageShape.hpp"
42
+ #include "CardImage.hpp"
43
+ #include "JCardImage.hpp"
38
44
  #include "JSearchParams.hpp"
39
45
  #include "SearchMode.hpp"
40
46
  #include "JSearchMode.hpp"
@@ -34,9 +34,15 @@
34
34
  #include "JTrackRequest.hpp"
35
35
  #include "TrackStyle.hpp"
36
36
  #include "JTrackStyle.hpp"
37
- #include "ImageRowItem.hpp"
37
+ #include "StyleDisplay.hpp"
38
+ #include "JStyleDisplay.hpp"
39
+ #include "ArtworkRendering.hpp"
40
+ #include "JArtworkRendering.hpp"
41
+ #include "ImageShape.hpp"
42
+ #include "JImageShape.hpp"
43
+ #include "CardImage.hpp"
44
+ #include "JCardImage.hpp"
38
45
  #include <vector>
39
- #include "JImageRowItem.hpp"
40
46
 
41
47
  namespace margelo::nitro::audiobrowser {
42
48
 
@@ -21,9 +21,23 @@
21
21
  #include "JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp"
22
22
  #include "JResolvedTrack.hpp"
23
23
  #include <string>
24
- #include "Track.hpp"
25
- #include <vector>
24
+ #include "SectionStyle.hpp"
26
25
  #include <optional>
26
+ #include "JSectionStyle.hpp"
27
+ #include "GridTile.hpp"
28
+ #include "JGridTile.hpp"
29
+ #include "StyleDisplay.hpp"
30
+ #include "JStyleDisplay.hpp"
31
+ #include "ArtworkRendering.hpp"
32
+ #include "JArtworkRendering.hpp"
33
+ #include "ImageShape.hpp"
34
+ #include "JImageShape.hpp"
35
+ #include "CardImage.hpp"
36
+ #include "JCardImage.hpp"
37
+ #include "Section.hpp"
38
+ #include <vector>
39
+ #include "JSection.hpp"
40
+ #include "Track.hpp"
27
41
  #include "JTrack.hpp"
28
42
  #include "ArtworkVariants.hpp"
29
43
  #include "JVariant_String_ArtworkVariants.hpp"
@@ -37,8 +51,6 @@
37
51
  #include "JTrackRequest.hpp"
38
52
  #include "TrackStyle.hpp"
39
53
  #include "JTrackStyle.hpp"
40
- #include "ImageRowItem.hpp"
41
- #include "JImageRowItem.hpp"
42
54
  #include "CarPlaySiriListButtonPosition.hpp"
43
55
  #include "JCarPlaySiriListButtonPosition.hpp"
44
56
  #include "JBrowseError.hpp"
@@ -31,9 +31,14 @@
31
31
  #include "JTrackRequest.hpp"
32
32
  #include "TrackStyle.hpp"
33
33
  #include "JTrackStyle.hpp"
34
- #include "ImageRowItem.hpp"
35
- #include <vector>
36
- #include "JImageRowItem.hpp"
34
+ #include "StyleDisplay.hpp"
35
+ #include "JStyleDisplay.hpp"
36
+ #include "ArtworkRendering.hpp"
37
+ #include "JArtworkRendering.hpp"
38
+ #include "ImageShape.hpp"
39
+ #include "JImageShape.hpp"
40
+ #include "CardImage.hpp"
41
+ #include "JCardImage.hpp"
37
42
 
38
43
  namespace margelo::nitro::audiobrowser {
39
44
 
@@ -31,15 +31,12 @@
31
31
  #include "JVariant_NullType_Double.hpp"
32
32
  #include "PlayerCapabilities.hpp"
33
33
  #include "JPlayerCapabilities.hpp"
34
- #include "FavoriteConfig.hpp"
35
- #include "JVariant_Boolean_FavoriteConfig.hpp"
36
- #include "JFavoriteConfig.hpp"
37
- #include "FavoritesMatchMode.hpp"
38
- #include "JFavoritesMatchMode.hpp"
39
34
  #include "IOSOptions.hpp"
40
35
  #include "JIOSOptions.hpp"
41
36
  #include "CarPlayNowPlayingButton.hpp"
42
37
  #include "JCarPlayNowPlayingButton.hpp"
38
+ #include "CarPlayPlayingIndicatorLocation.hpp"
39
+ #include "JCarPlayPlayingIndicatorLocation.hpp"
43
40
 
44
41
  namespace margelo::nitro::audiobrowser {
45
42
 
@@ -31,9 +31,14 @@
31
31
  #include "JTrackRequest.hpp"
32
32
  #include "TrackStyle.hpp"
33
33
  #include "JTrackStyle.hpp"
34
- #include "ImageRowItem.hpp"
35
- #include <vector>
36
- #include "JImageRowItem.hpp"
34
+ #include "StyleDisplay.hpp"
35
+ #include "JStyleDisplay.hpp"
36
+ #include "ArtworkRendering.hpp"
37
+ #include "JArtworkRendering.hpp"
38
+ #include "ImageShape.hpp"
39
+ #include "JImageShape.hpp"
40
+ #include "CardImage.hpp"
41
+ #include "JCardImage.hpp"
37
42
 
38
43
  namespace margelo::nitro::audiobrowser {
39
44
 
@@ -16,8 +16,22 @@
16
16
  #include <NitroModules/JNICallable.hpp>
17
17
  #include "JResolvedTrack.hpp"
18
18
  #include <string>
19
- #include "Track.hpp"
19
+ #include "SectionStyle.hpp"
20
+ #include "JSectionStyle.hpp"
21
+ #include "GridTile.hpp"
22
+ #include "JGridTile.hpp"
23
+ #include "StyleDisplay.hpp"
24
+ #include "JStyleDisplay.hpp"
25
+ #include "ArtworkRendering.hpp"
26
+ #include "JArtworkRendering.hpp"
27
+ #include "ImageShape.hpp"
28
+ #include "JImageShape.hpp"
29
+ #include "CardImage.hpp"
30
+ #include "JCardImage.hpp"
31
+ #include "Section.hpp"
20
32
  #include <vector>
33
+ #include "JSection.hpp"
34
+ #include "Track.hpp"
21
35
  #include "JTrack.hpp"
22
36
  #include "ArtworkVariants.hpp"
23
37
  #include <variant>
@@ -32,8 +46,6 @@
32
46
  #include "JTrackRequest.hpp"
33
47
  #include "TrackStyle.hpp"
34
48
  #include "JTrackStyle.hpp"
35
- #include "ImageRowItem.hpp"
36
- #include "JImageRowItem.hpp"
37
49
  #include "CarPlaySiriListButtonPosition.hpp"
38
50
  #include "JCarPlaySiriListButtonPosition.hpp"
39
51
 
@@ -30,8 +30,14 @@
30
30
  #include "JTrackRequest.hpp"
31
31
  #include "TrackStyle.hpp"
32
32
  #include "JTrackStyle.hpp"
33
- #include "ImageRowItem.hpp"
34
- #include "JImageRowItem.hpp"
33
+ #include "StyleDisplay.hpp"
34
+ #include "JStyleDisplay.hpp"
35
+ #include "ArtworkRendering.hpp"
36
+ #include "JArtworkRendering.hpp"
37
+ #include "ImageShape.hpp"
38
+ #include "JImageShape.hpp"
39
+ #include "CardImage.hpp"
40
+ #include "JCardImage.hpp"
35
41
 
36
42
  namespace margelo::nitro::audiobrowser {
37
43
 
@@ -0,0 +1,61 @@
1
+ ///
2
+ /// JGridTile.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 "GridTile.hpp"
12
+
13
+ namespace margelo::nitro::audiobrowser {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "GridTile" and the the Kotlin enum "GridTile".
19
+ */
20
+ struct JGridTile final: public jni::JavaClass<JGridTile> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/GridTile;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum GridTile.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ GridTile toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<GridTile>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JGridTile> fromCpp(GridTile value) {
43
+ static const auto clazz = javaClassStatic();
44
+ switch (value) {
45
+ case GridTile::PLAIN:
46
+ static const auto fieldPLAIN = clazz->getStaticField<JGridTile>("PLAIN");
47
+ return clazz->getStaticFieldValue(fieldPLAIN);
48
+ case GridTile::CARD:
49
+ static const auto fieldCARD = clazz->getStaticField<JGridTile>("CARD");
50
+ return clazz->getStaticFieldValue(fieldCARD);
51
+ case GridTile::CONDENSED:
52
+ static const auto fieldCONDENSED = clazz->getStaticField<JGridTile>("CONDENSED");
53
+ return clazz->getStaticFieldValue(fieldCONDENSED);
54
+ default:
55
+ std::string stringValue = std::to_string(static_cast<int>(value));
56
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
57
+ }
58
+ }
59
+ };
60
+
61
+ } // namespace margelo::nitro::audiobrowser
@@ -18,11 +18,23 @@ namespace margelo::nitro::audiobrowser { enum class HttpMethod; }
18
18
  // Forward declaration of `TrackRequest` to properly resolve imports.
19
19
  namespace margelo::nitro::audiobrowser { struct TrackRequest; }
20
20
  // Forward declaration of `TrackStyle` to properly resolve imports.
21
- namespace margelo::nitro::audiobrowser { enum class TrackStyle; }
22
- // Forward declaration of `ImageRowItem` to properly resolve imports.
23
- namespace margelo::nitro::audiobrowser { struct ImageRowItem; }
21
+ namespace margelo::nitro::audiobrowser { struct TrackStyle; }
22
+ // Forward declaration of `StyleDisplay` to properly resolve imports.
23
+ namespace margelo::nitro::audiobrowser { enum class StyleDisplay; }
24
+ // Forward declaration of `ArtworkRendering` to properly resolve imports.
25
+ namespace margelo::nitro::audiobrowser { enum class ArtworkRendering; }
26
+ // Forward declaration of `ImageShape` to properly resolve imports.
27
+ namespace margelo::nitro::audiobrowser { enum class ImageShape; }
28
+ // Forward declaration of `CardImage` to properly resolve imports.
29
+ namespace margelo::nitro::audiobrowser { enum class CardImage; }
24
30
  // Forward declaration of `ResolvedTrack` to properly resolve imports.
25
31
  namespace margelo::nitro::audiobrowser { struct ResolvedTrack; }
32
+ // Forward declaration of `SectionStyle` to properly resolve imports.
33
+ namespace margelo::nitro::audiobrowser { struct SectionStyle; }
34
+ // Forward declaration of `GridTile` to properly resolve imports.
35
+ namespace margelo::nitro::audiobrowser { enum class GridTile; }
36
+ // Forward declaration of `Section` to properly resolve imports.
37
+ namespace margelo::nitro::audiobrowser { struct Section; }
26
38
  // Forward declaration of `CarPlaySiriListButtonPosition` to properly resolve imports.
27
39
  namespace margelo::nitro::audiobrowser { enum class CarPlaySiriListButtonPosition; }
28
40
  // Forward declaration of `NavigationErrorEvent` to properly resolve imports.
@@ -133,14 +145,12 @@ namespace margelo::nitro::audiobrowser { struct RemoteButtonLayout; }
133
145
  namespace margelo::nitro::audiobrowser { enum class RemoteButton; }
134
146
  // Forward declaration of `PlayerCapabilities` to properly resolve imports.
135
147
  namespace margelo::nitro::audiobrowser { struct PlayerCapabilities; }
136
- // Forward declaration of `FavoriteConfig` to properly resolve imports.
137
- namespace margelo::nitro::audiobrowser { struct FavoriteConfig; }
138
- // Forward declaration of `FavoritesMatchMode` to properly resolve imports.
139
- namespace margelo::nitro::audiobrowser { enum class FavoritesMatchMode; }
140
148
  // Forward declaration of `IOSOptions` to properly resolve imports.
141
149
  namespace margelo::nitro::audiobrowser { struct IOSOptions; }
142
150
  // Forward declaration of `CarPlayNowPlayingButton` to properly resolve imports.
143
151
  namespace margelo::nitro::audiobrowser { enum class CarPlayNowPlayingButton; }
152
+ // Forward declaration of `CarPlayPlayingIndicatorLocation` to properly resolve imports.
153
+ namespace margelo::nitro::audiobrowser { enum class CarPlayPlayingIndicatorLocation; }
144
154
  // Forward declaration of `FavoriteChangedEvent` to properly resolve imports.
145
155
  namespace margelo::nitro::audiobrowser { struct FavoriteChangedEvent; }
146
156
  // Forward declaration of `NowPlayingMetadata` to properly resolve imports.
@@ -212,14 +222,26 @@ namespace margelo::nitro::audiobrowser { struct RetryConfig; }
212
222
  #include "JTrackRequest.hpp"
213
223
  #include "TrackStyle.hpp"
214
224
  #include "JTrackStyle.hpp"
215
- #include "ImageRowItem.hpp"
216
- #include "JImageRowItem.hpp"
225
+ #include "StyleDisplay.hpp"
226
+ #include "JStyleDisplay.hpp"
227
+ #include "ArtworkRendering.hpp"
228
+ #include "JArtworkRendering.hpp"
229
+ #include "ImageShape.hpp"
230
+ #include "JImageShape.hpp"
231
+ #include "CardImage.hpp"
232
+ #include "JCardImage.hpp"
217
233
  #include <functional>
218
234
  #include "JFunc_void_std__string.hpp"
219
235
  #include <NitroModules/JNICallable.hpp>
220
236
  #include "ResolvedTrack.hpp"
221
237
  #include "JFunc_void_std__optional_ResolvedTrack_.hpp"
222
238
  #include "JResolvedTrack.hpp"
239
+ #include "SectionStyle.hpp"
240
+ #include "JSectionStyle.hpp"
241
+ #include "GridTile.hpp"
242
+ #include "JGridTile.hpp"
243
+ #include "Section.hpp"
244
+ #include "JSection.hpp"
223
245
  #include "CarPlaySiriListButtonPosition.hpp"
224
246
  #include "JCarPlaySiriListButtonPosition.hpp"
225
247
  #include "JFunc_void_std__vector_Track_.hpp"
@@ -378,15 +400,12 @@ namespace margelo::nitro::audiobrowser { struct RetryConfig; }
378
400
  #include "JVariant_NullType_Double.hpp"
379
401
  #include "PlayerCapabilities.hpp"
380
402
  #include "JPlayerCapabilities.hpp"
381
- #include "FavoriteConfig.hpp"
382
- #include "JVariant_Boolean_FavoriteConfig.hpp"
383
- #include "JFavoriteConfig.hpp"
384
- #include "FavoritesMatchMode.hpp"
385
- #include "JFavoritesMatchMode.hpp"
386
403
  #include "IOSOptions.hpp"
387
404
  #include "JIOSOptions.hpp"
388
405
  #include "CarPlayNowPlayingButton.hpp"
389
406
  #include "JCarPlayNowPlayingButton.hpp"
407
+ #include "CarPlayPlayingIndicatorLocation.hpp"
408
+ #include "JCarPlayPlayingIndicatorLocation.hpp"
390
409
  #include "FavoriteChangedEvent.hpp"
391
410
  #include "JFunc_void_FavoriteChangedEvent.hpp"
392
411
  #include "JFavoriteChangedEvent.hpp"
@@ -11,7 +11,9 @@
11
11
  #include "IOSOptions.hpp"
12
12
 
13
13
  #include "CarPlayNowPlayingButton.hpp"
14
+ #include "CarPlayPlayingIndicatorLocation.hpp"
14
15
  #include "JCarPlayNowPlayingButton.hpp"
16
+ #include "JCarPlayPlayingIndicatorLocation.hpp"
15
17
  #include <vector>
16
18
 
17
19
  namespace margelo::nitro::audiobrowser {
@@ -39,6 +41,8 @@ namespace margelo::nitro::audiobrowser {
39
41
  jboolean carPlayUpNextButton = this->getFieldValue(fieldCarPlayUpNextButton);
40
42
  static const auto fieldCarPlayNowPlayingButtons = clazz->getField<jni::JArrayClass<JCarPlayNowPlayingButton>>("carPlayNowPlayingButtons");
41
43
  jni::local_ref<jni::JArrayClass<JCarPlayNowPlayingButton>> carPlayNowPlayingButtons = this->getFieldValue(fieldCarPlayNowPlayingButtons);
44
+ static const auto fieldCarPlayPlayingIndicatorLocation = clazz->getField<JCarPlayPlayingIndicatorLocation>("carPlayPlayingIndicatorLocation");
45
+ jni::local_ref<JCarPlayPlayingIndicatorLocation> carPlayPlayingIndicatorLocation = this->getFieldValue(fieldCarPlayPlayingIndicatorLocation);
42
46
  return IOSOptions(
43
47
  [&]() {
44
48
  size_t __size = playbackRates->size();
@@ -56,7 +60,8 @@ namespace margelo::nitro::audiobrowser {
56
60
  __vector.push_back(__element->toCpp());
57
61
  }
58
62
  return __vector;
59
- }()
63
+ }(),
64
+ carPlayPlayingIndicatorLocation->toCpp()
60
65
  );
61
66
  }
62
67
 
@@ -66,7 +71,7 @@ namespace margelo::nitro::audiobrowser {
66
71
  */
67
72
  [[maybe_unused]]
68
73
  static jni::local_ref<JIOSOptions::javaobject> fromCpp(const IOSOptions& value) {
69
- using JSignature = JIOSOptions(jni::alias_ref<jni::JArrayDouble>, jboolean, jni::alias_ref<jni::JArrayClass<JCarPlayNowPlayingButton>>);
74
+ using JSignature = JIOSOptions(jni::alias_ref<jni::JArrayDouble>, jboolean, jni::alias_ref<jni::JArrayClass<JCarPlayNowPlayingButton>>, jni::alias_ref<JCarPlayPlayingIndicatorLocation>);
70
75
  static const auto clazz = javaClassStatic();
71
76
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
72
77
  return create(
@@ -87,7 +92,8 @@ namespace margelo::nitro::audiobrowser {
87
92
  __array->setElement(__i, *__elementJni);
88
93
  }
89
94
  return __array;
90
- }()
95
+ }(),
96
+ JCarPlayPlayingIndicatorLocation::fromCpp(value.carPlayPlayingIndicatorLocation)
91
97
  );
92
98
  }
93
99
  };
@@ -0,0 +1,58 @@
1
+ ///
2
+ /// JImageShape.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 "ImageShape.hpp"
12
+
13
+ namespace margelo::nitro::audiobrowser {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "ImageShape" and the the Kotlin enum "ImageShape".
19
+ */
20
+ struct JImageShape final: public jni::JavaClass<JImageShape> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/ImageShape;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum ImageShape.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ ImageShape toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<ImageShape>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JImageShape> fromCpp(ImageShape value) {
43
+ static const auto clazz = javaClassStatic();
44
+ switch (value) {
45
+ case ImageShape::CIRCULAR:
46
+ static const auto fieldCIRCULAR = clazz->getStaticField<JImageShape>("CIRCULAR");
47
+ return clazz->getStaticFieldValue(fieldCIRCULAR);
48
+ case ImageShape::ROUNDED_RECTANGLE:
49
+ static const auto fieldROUNDED_RECTANGLE = clazz->getStaticField<JImageShape>("ROUNDED_RECTANGLE");
50
+ return clazz->getStaticFieldValue(fieldROUNDED_RECTANGLE);
51
+ default:
52
+ std::string stringValue = std::to_string(static_cast<int>(value));
53
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
54
+ }
55
+ }
56
+ };
57
+
58
+ } // namespace margelo::nitro::audiobrowser