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.
- package/README.md +14 -4
- package/android/build.gradle +20 -1
- package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +115 -26
- package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +262 -188
- package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +23 -3
- package/android/src/main/java/com/audiobrowser/browser/InertStyleDiagnostic.kt +267 -0
- package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +95 -58
- package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +68 -26
- package/android/src/main/java/com/audiobrowser/browser/StyleResolver.kt +60 -0
- package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +19 -7
- package/android/src/main/java/com/audiobrowser/extension/TappedTrack.kt +20 -0
- package/android/src/main/java/com/audiobrowser/extension/TrackIdentity.kt +15 -0
- package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +1 -1
- package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +120 -67
- package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +21 -24
- package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +109 -74
- package/android/src/main/java/com/audiobrowser/player/Player.kt +51 -30
- package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +2 -15
- package/android/src/main/java/com/audiobrowser/player/ShuffleOrderLedBy.kt +30 -0
- package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +44 -40
- package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +28 -23
- package/android/src/main/java/com/audiobrowser/util/StyleWire.kt +108 -0
- package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +52 -53
- package/android/src/test/java/com/audiobrowser/TestFixtures.kt +74 -41
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerFavoritesTest.kt +153 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +229 -50
- package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +38 -0
- package/android/src/test/java/com/audiobrowser/browser/InertStyleDiagnosticTest.kt +277 -0
- package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +1 -1
- package/android/src/test/java/com/audiobrowser/browser/JsonStyleTest.kt +147 -0
- package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +128 -53
- package/android/src/test/java/com/audiobrowser/browser/StyleResolverTest.kt +154 -0
- package/android/src/test/java/com/audiobrowser/extension/TappedTrackTest.kt +43 -0
- package/android/src/test/java/com/audiobrowser/extension/TrackIdentityTest.kt +41 -0
- package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +1 -2
- package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +42 -2
- package/android/src/test/java/com/audiobrowser/player/PlaybackStateStoreTrackJsonTest.kt +55 -0
- package/android/src/test/java/com/audiobrowser/player/ShuffleOrderLedByTest.kt +79 -0
- package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +41 -16
- package/android/src/test/java/com/audiobrowser/util/MediaExtrasBuilderTest.kt +161 -0
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +7 -7
- package/ios/Browser/BrowserConfig.swift +102 -5
- package/ios/Browser/BrowserManager+URLResolution.swift +18 -14
- package/ios/Browser/BrowserManager.swift +229 -180
- package/ios/Browser/BrowserPathHelper.swift +44 -44
- package/ios/Browser/InertStyleDiagnostic.swift +279 -0
- package/ios/Browser/JsonModels.swift +258 -106
- package/ios/Browser/SearchDrillIn.swift +6 -6
- package/ios/Browser/SectionPresentation.swift +64 -0
- package/ios/Browser/SectionScope.swift +58 -24
- package/ios/Browser/StyleResolver.swift +58 -0
- package/ios/Browser/TabBarEntries.swift +9 -3
- package/ios/Browser/TrackIdTemplate.swift +37 -0
- package/ios/CarPlay/CarPlayArtworkResolver.swift +8 -7
- package/ios/CarPlay/CarPlayController.swift +227 -85
- package/ios/CarPlay/CarPlayImageLoader.swift +38 -18
- package/ios/CarPlay/CarPlayListItemFactory.swift +289 -84
- package/ios/CarPlay/CarPlayNowPlayingManager.swift +15 -12
- package/ios/Extension/Capability+RemoteCommand.swift +1 -1
- package/ios/Extension/PlayerCapabilities+Favorite.swift +1 -15
- package/ios/Extension/ResolvedTrack+Copying.swift +11 -15
- package/ios/Extension/Section+Copying.swift +31 -0
- package/ios/Extension/Track+Copying.swift +6 -12
- package/ios/Extension/Track+Identity.swift +18 -0
- package/ios/Extension/UIApplication+ActiveScene.swift +27 -0
- package/ios/Http/HttpClient.swift +8 -2
- package/ios/HybridAudioBrowser.swift +166 -45
- package/ios/Model/NitroTypeStubs.swift +106 -21
- package/ios/Model/PlayerUpdateOptions.swift +7 -0
- package/ios/Player/MediaIntentCriteria.swift +13 -5
- package/ios/Player/MediaLoader.swift +33 -9
- package/ios/Player/NowPlayingUpdater.swift +54 -6
- package/ios/Player/PlaybackCoordinator.swift +13 -6
- package/ios/Player/PlaybackTimer.swift +8 -2
- package/ios/Player/QueueManager.swift +36 -10
- package/ios/Player/RetryManager.swift +4 -3
- package/ios/Player/ShuffleOrder.swift +23 -0
- package/ios/Player/SleepTimerHandling.swift +13 -0
- package/ios/RemoteCommand/RemoteCommandController.swift +53 -18
- package/ios/Tests/BrowserPathHelperTests.swift +50 -20
- package/ios/Tests/CarPlayArtworkResolverTests.swift +24 -41
- package/ios/Tests/InertStyleDiagnosticTests.swift +200 -0
- package/ios/Tests/JsonModelsTests.swift +150 -1
- package/ios/Tests/PlaybackStateStoreTests.swift +4 -3
- package/ios/Tests/QueueManagerTests.swift +72 -6
- package/ios/Tests/RemoteCommandControllerTests.swift +16 -0
- package/ios/Tests/ResolvedTrackCopyingTests.swift +37 -35
- package/ios/Tests/SearchDrillInTests.swift +16 -16
- package/ios/Tests/SectionPresentationTests.swift +90 -0
- package/ios/Tests/SectionScopeTests.swift +87 -55
- package/ios/Tests/StyleResolverTests.swift +127 -0
- package/ios/Tests/Support/TestTypes.swift +7 -0
- package/ios/Tests/TabBarEntriesTests.swift +18 -18
- package/ios/Tests/TrackIdTemplateTests.swift +67 -0
- package/ios/Tests/TrackIdentityTests.swift +20 -0
- package/ios/Tests/TrackSelectorTests.swift +168 -33
- package/ios/TrackPlayer.swift +57 -34
- package/ios/TrackSelector.swift +45 -30
- package/ios/Util/ArtworkImageFetcher.swift +16 -1
- package/ios/Util/NetworkMonitor.swift +43 -26
- package/ios/Util/SFSymbolRenderer.swift +24 -2
- package/ios/Util/SVGProcessor.swift +9 -2
- package/lib/commonjs/AudioBrowser.js +11 -0
- package/lib/commonjs/AudioBrowser.js.map +1 -1
- package/lib/commonjs/features/browser-config.js +11 -8
- package/lib/commonjs/features/browser-config.js.map +1 -1
- package/lib/commonjs/features/browser.js +2 -2
- package/lib/commonjs/features/favorites.js +13 -10
- package/lib/commonjs/features/favorites.js.map +1 -1
- package/lib/commonjs/features/playback/controls.js +4 -2
- package/lib/commonjs/features/playback/controls.js.map +1 -1
- package/lib/commonjs/features/playback/progress.js +2 -1
- package/lib/commonjs/features/playback/progress.js.map +1 -1
- package/lib/commonjs/features/playback/rate.js +8 -1
- package/lib/commonjs/features/playback/rate.js.map +1 -1
- package/lib/commonjs/features/playback/state.js +2 -3
- package/lib/commonjs/features/playback/state.js.map +1 -1
- package/lib/commonjs/features/player/options.js.map +1 -1
- package/lib/commonjs/features/player/setup.js +3 -1
- package/lib/commonjs/features/player/setup.js.map +1 -1
- package/lib/commonjs/features/player/validateOptions.js +2 -0
- package/lib/commonjs/features/player/validateOptions.js.map +1 -1
- package/lib/commonjs/features/queue/activeTrack.js +14 -3
- package/lib/commonjs/features/queue/activeTrack.js.map +1 -1
- package/lib/commonjs/features/queue/queue.js +11 -4
- package/lib/commonjs/features/queue/queue.js.map +1 -1
- package/lib/commonjs/utils/LazyNativeEmitter.js +21 -10
- package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/commonjs/utils/NativeUpdatedValue.js +31 -13
- package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/commonjs/utils/getTrackIdentity.js +24 -0
- package/lib/commonjs/utils/getTrackIdentity.js.map +1 -0
- package/lib/commonjs/utils/useNativeValueRefreshedBy.js +33 -0
- package/lib/commonjs/utils/useNativeValueRefreshedBy.js.map +1 -0
- package/lib/commonjs/web/NativeAudioBrowser.js +32 -24
- package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/QueueManager.js +14 -0
- package/lib/commonjs/web/TrackPlayer/QueueManager.js.map +1 -1
- package/lib/commonjs/web/browser/BrowserManager.js +144 -87
- package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
- package/lib/commonjs/web/browser/FavoriteManager.js +30 -21
- package/lib/commonjs/web/browser/FavoriteManager.js.map +1 -1
- package/lib/commonjs/web/browser/assertBrowsePageShape.js +2 -2
- package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +1 -1
- package/lib/commonjs/web/browser/classifyTrackNavigation.js +9 -9
- package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +1 -1
- package/lib/commonjs/web/browser/sections.js +89 -0
- package/lib/commonjs/web/browser/sections.js.map +1 -0
- package/lib/commonjs/web/player/NowPlayingManager.js +4 -3
- package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
- package/lib/commonjs/web/util/BrowserPathHelper.js +56 -11
- package/lib/commonjs/web/util/BrowserPathHelper.js.map +1 -1
- package/lib/module/AudioBrowser.js +1 -0
- package/lib/module/AudioBrowser.js.map +1 -1
- package/lib/module/features/browser-config.js +11 -8
- package/lib/module/features/browser-config.js.map +1 -1
- package/lib/module/features/browser.js +2 -2
- package/lib/module/features/favorites.js +13 -10
- package/lib/module/features/favorites.js.map +1 -1
- package/lib/module/features/playback/controls.js +4 -2
- package/lib/module/features/playback/controls.js.map +1 -1
- package/lib/module/features/playback/progress.js +2 -1
- package/lib/module/features/playback/progress.js.map +1 -1
- package/lib/module/features/playback/rate.js +8 -1
- package/lib/module/features/playback/rate.js.map +1 -1
- package/lib/module/features/playback/state.js +2 -3
- package/lib/module/features/playback/state.js.map +1 -1
- package/lib/module/features/player/options.js.map +1 -1
- package/lib/module/features/player/setup.js +3 -1
- package/lib/module/features/player/setup.js.map +1 -1
- package/lib/module/features/player/validateOptions.js +2 -0
- package/lib/module/features/player/validateOptions.js.map +1 -1
- package/lib/module/features/queue/activeTrack.js +14 -3
- package/lib/module/features/queue/activeTrack.js.map +1 -1
- package/lib/module/features/queue/queue.js +11 -4
- package/lib/module/features/queue/queue.js.map +1 -1
- package/lib/module/utils/LazyNativeEmitter.js +21 -10
- package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/module/utils/NativeUpdatedValue.js +31 -13
- package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/module/utils/getTrackIdentity.js +20 -0
- package/lib/module/utils/getTrackIdentity.js.map +1 -0
- package/lib/module/utils/useNativeValueRefreshedBy.js +29 -0
- package/lib/module/utils/useNativeValueRefreshedBy.js.map +1 -0
- package/lib/module/web/NativeAudioBrowser.js +32 -24
- package/lib/module/web/NativeAudioBrowser.js.map +1 -1
- package/lib/module/web/TrackPlayer/QueueManager.js +14 -0
- package/lib/module/web/TrackPlayer/QueueManager.js.map +1 -1
- package/lib/module/web/browser/BrowserManager.js +144 -87
- package/lib/module/web/browser/BrowserManager.js.map +1 -1
- package/lib/module/web/browser/FavoriteManager.js +31 -21
- package/lib/module/web/browser/FavoriteManager.js.map +1 -1
- package/lib/module/web/browser/assertBrowsePageShape.js +2 -2
- package/lib/module/web/browser/assertBrowsePageShape.js.map +1 -1
- package/lib/module/web/browser/classifyTrackNavigation.js +9 -9
- package/lib/module/web/browser/classifyTrackNavigation.js.map +1 -1
- package/lib/module/web/browser/sections.js +83 -0
- package/lib/module/web/browser/sections.js.map +1 -0
- package/lib/module/web/player/NowPlayingManager.js +4 -3
- package/lib/module/web/player/NowPlayingManager.js.map +1 -1
- package/lib/module/web/util/BrowserPathHelper.js +56 -11
- package/lib/module/web/util/BrowserPathHelper.js.map +1 -1
- package/lib/typescript/src/AudioBrowser.d.ts +1 -0
- package/lib/typescript/src/AudioBrowser.d.ts.map +1 -1
- package/lib/typescript/src/features/browser-config.d.ts.map +1 -1
- package/lib/typescript/src/features/browser.d.ts +2 -2
- package/lib/typescript/src/features/favorites.d.ts +13 -10
- package/lib/typescript/src/features/favorites.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/controls.d.ts +4 -2
- package/lib/typescript/src/features/playback/controls.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/progress.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/rate.d.ts +8 -1
- package/lib/typescript/src/features/playback/rate.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/state.d.ts +2 -3
- package/lib/typescript/src/features/playback/state.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +1 -1
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +1 -1
- package/lib/typescript/src/features/player/options.d.ts +21 -19
- package/lib/typescript/src/features/player/options.d.ts.map +1 -1
- package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
- package/lib/typescript/src/features/player/validateOptions.d.ts +1 -8
- package/lib/typescript/src/features/player/validateOptions.d.ts.map +1 -1
- package/lib/typescript/src/features/queue/activeTrack.d.ts +8 -1
- package/lib/typescript/src/features/queue/activeTrack.d.ts.map +1 -1
- package/lib/typescript/src/features/queue/queue.d.ts +5 -2
- package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-native.d.ts +2 -2
- package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-nodes.d.ts +361 -126
- package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
- package/lib/typescript/src/types/browser.d.ts +33 -53
- package/lib/typescript/src/types/browser.d.ts.map +1 -1
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +16 -17
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +24 -19
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
- package/lib/typescript/src/utils/getTrackIdentity.d.ts +18 -0
- package/lib/typescript/src/utils/getTrackIdentity.d.ts.map +1 -0
- package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts +21 -0
- package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts.map +1 -0
- package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +0 -1
- package/nitrogen/generated/android/c++/{JFavoritesMatchMode.hpp → JArtworkRendering.hpp} +15 -15
- package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +8 -3
- package/nitrogen/generated/android/c++/JBrowseResult.hpp +16 -4
- package/nitrogen/generated/android/c++/JCarPlayPlayingIndicatorLocation.hpp +58 -0
- package/nitrogen/generated/android/c++/JCardImage.hpp +58 -0
- package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +8 -3
- package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +8 -2
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +8 -2
- 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
- package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +2 -5
- package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +15 -3
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +8 -2
- package/nitrogen/generated/android/c++/JGridTile.hpp +61 -0
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +33 -14
- package/nitrogen/generated/android/c++/JIOSOptions.hpp +9 -3
- package/nitrogen/generated/android/c++/JImageShape.hpp +58 -0
- package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +8 -3
- package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +22 -10
- package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +14 -2
- package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +10 -7
- package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +2 -5
- package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +9 -3
- package/nitrogen/generated/android/c++/JOptions.hpp +2 -5
- package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +8 -3
- package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +5 -11
- package/nitrogen/generated/android/c++/JResolvedTrack.hpp +55 -51
- package/nitrogen/generated/android/c++/JSection.hpp +120 -0
- package/nitrogen/generated/android/c++/JSectionStyle.hpp +96 -0
- package/nitrogen/generated/android/c++/JStyleDisplay.hpp +58 -0
- package/nitrogen/generated/android/c++/JTrack.hpp +23 -48
- package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +8 -2
- package/nitrogen/generated/android/c++/JTrackStyle.hpp +46 -18
- package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +16 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoritesMatchMode.kt → ArtworkRendering.kt} +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayPlayingIndicatorLocation.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CardImage.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/GridTile.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageShape.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +12 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoriteConfig.kt → Section.kt} +18 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SectionStyle.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StyleDisplay.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +6 -15
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackStyle.kt +35 -5
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +158 -82
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +25 -10
- package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +25 -10
- package/nitrogen/generated/ios/swift/ArtworkRendering.swift +40 -0
- package/nitrogen/generated/ios/swift/CarPlayPlayingIndicatorLocation.swift +40 -0
- package/nitrogen/generated/ios/swift/CardImage.swift +40 -0
- package/nitrogen/generated/ios/swift/GridTile.swift +44 -0
- package/nitrogen/generated/ios/swift/IOSOptions.swift +7 -2
- package/nitrogen/generated/ios/swift/ImageShape.swift +40 -0
- package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +5 -5
- package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +12 -1
- package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +8 -27
- package/nitrogen/generated/ios/swift/ResolvedTrack.swift +54 -83
- package/nitrogen/generated/ios/swift/Section.swift +100 -0
- package/nitrogen/generated/ios/swift/SectionStyle.swift +133 -0
- package/nitrogen/generated/ios/swift/StyleDisplay.swift +40 -0
- package/nitrogen/generated/ios/swift/Track.swift +20 -73
- package/nitrogen/generated/ios/swift/TrackStyle.swift +86 -22
- package/nitrogen/generated/shared/c++/{FavoritesMatchMode.hpp → ArtworkRendering.hpp} +17 -17
- package/nitrogen/generated/shared/c++/CarPlayPlayingIndicatorLocation.hpp +76 -0
- package/nitrogen/generated/shared/c++/CardImage.hpp +76 -0
- package/nitrogen/generated/shared/c++/GridTile.hpp +80 -0
- package/nitrogen/generated/shared/c++/IOSOptions.hpp +9 -2
- package/nitrogen/generated/shared/c++/ImageShape.hpp +76 -0
- package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +6 -6
- package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +9 -2
- package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +6 -9
- package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +30 -38
- package/nitrogen/generated/shared/c++/Section.hpp +106 -0
- package/nitrogen/generated/shared/c++/SectionStyle.hpp +126 -0
- package/nitrogen/generated/shared/c++/StyleDisplay.hpp +76 -0
- package/nitrogen/generated/shared/c++/Track.hpp +15 -31
- package/nitrogen/generated/shared/c++/TrackStyle.hpp +73 -34
- package/package.json +7 -2
- package/src/AudioBrowser.ts +1 -0
- package/src/features/browser-config.test.ts +21 -6
- package/src/features/browser-config.ts +11 -8
- package/src/features/browser.test.ts +1 -1
- package/src/features/browser.ts +2 -2
- package/src/features/favorites.ts +13 -10
- package/src/features/hook-wiring.test.ts +63 -15
- package/src/features/playback/controls.ts +4 -2
- package/src/features/playback/progress.ts +2 -1
- package/src/features/playback/rate.ts +8 -1
- package/src/features/playback/state.ts +2 -3
- package/src/features/playback/trackPlaybackTime.ts +1 -1
- package/src/features/player/options.ts +27 -19
- package/src/features/player/setup.test.ts +12 -3
- package/src/features/player/setup.ts +3 -1
- package/src/features/player/validateOptions.ts +2 -0
- package/src/features/queue/activeTrack.ts +14 -3
- package/src/features/queue/queue.ts +11 -4
- package/src/nitro-stub-drift.test.ts +40 -0
- package/src/public-surface.test.ts +40 -0
- package/src/specs/audio-browser.nitro.ts +4 -3
- package/src/style-resolution.test.ts +210 -0
- package/src/types/browser-native.ts +2 -2
- package/src/types/browser-nodes.ts +377 -135
- package/src/types/browser.ts +34 -55
- package/src/utils/LazyNativeEmitter.ts +20 -10
- package/src/utils/NativeUpdatedValue.ts +29 -13
- package/src/utils/getTrackIdentity.ts +20 -0
- package/src/utils/useNativeValueRefreshedBy.ts +38 -0
- package/src/web/NativeAudioBrowser.ts +37 -22
- package/src/web/TrackPlayer/QueueManager.test.ts +29 -0
- package/src/web/TrackPlayer/QueueManager.ts +14 -0
- package/src/web/browser/BrowserManager.ts +176 -95
- package/src/web/browser/FavoriteManager.test.ts +84 -0
- package/src/web/browser/FavoriteManager.ts +28 -23
- package/src/web/browser/assertBrowsePageShape.test.ts +1 -1
- package/src/web/browser/assertBrowsePageShape.ts +5 -3
- package/src/web/browser/classifyTrackNavigation.test.ts +10 -8
- package/src/web/browser/classifyTrackNavigation.ts +9 -9
- package/src/web/browser/parseSearchResponse.test.ts +8 -2
- package/src/web/browser/sections.test.ts +91 -0
- package/src/web/browser/sections.ts +72 -0
- package/src/web/player/NowPlayingManager.ts +4 -3
- package/src/web/util/BrowserPathHelper.test.ts +52 -0
- package/src/web/util/BrowserPathHelper.ts +61 -13
- package/website/guide/android-auto.md +114 -0
- package/website/guide/android-certificates.md +409 -0
- package/website/guide/artwork.md +255 -0
- package/website/guide/audio-output.md +135 -0
- package/website/guide/automotive.md +86 -0
- package/website/guide/basic-usage.md +151 -0
- package/website/guide/battery.md +115 -0
- package/website/guide/browser.md +581 -0
- package/website/guide/carplay.md +620 -0
- package/website/guide/configuration.md +173 -0
- package/website/guide/equalizer.md +231 -0
- package/website/guide/errors.md +310 -0
- package/website/guide/favorites.md +154 -0
- package/website/guide/gate.md +143 -0
- package/website/guide/getting-started.md +46 -0
- package/website/guide/hooks.md +238 -0
- package/website/guide/live-streams.md +125 -0
- package/website/guide/metadata.md +239 -0
- package/website/guide/migrating-from-track-player.md +244 -0
- package/website/guide/native-callback-fetch.md +127 -0
- package/website/guide/network.md +86 -0
- package/website/guide/now-playing.md +175 -0
- package/website/guide/playback.md +328 -0
- package/website/guide/queue.md +300 -0
- package/website/guide/remote-controls.md +256 -0
- package/website/guide/search.md +255 -0
- package/website/guide/sleep-timer.md +268 -0
- package/website/guide/track.md +246 -0
- package/ios/CarPlay/ImageRowItem+CarPlay.swift +0 -19
- package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +0 -58
- package/nitrogen/generated/android/c++/JImageRowItem.hpp +0 -105
- package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp +0 -26
- package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.hpp +0 -71
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +0 -68
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +0 -53
- package/nitrogen/generated/ios/swift/FavoriteConfig.swift +0 -29
- package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +0 -40
- package/nitrogen/generated/ios/swift/ImageRowItem.swift +0 -195
- package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +0 -18
- package/nitrogen/generated/shared/c++/FavoriteConfig.hpp +0 -84
- package/nitrogen/generated/shared/c++/ImageRowItem.hpp +0 -129
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BrowserManager","classifyTrackNavigation","FavoriteManager","NavigationErrorManager","SearchManager","HttpClient","RequestConfigBuilder","NowPlayingManager","OptionsManager","RemoteCommandController","QueuePlayer","SleepTimerManager","VolumeFader","PlaybackTimer","derivePlayingState","NativeAudioBrowser","name","equals","dispose","clearUpdateEventInterval","setPlaybackIntervalEnabled","remoteCommands","window","onlineHandler","removeEventListener","offlineHandler","currentLoadId","progressTimer","intervalTimer","_online","navigator","onLine","sleepFader","getVolume","volume","setVolume","sleepTimer","constructor","parent","onComplete","console","log","resolve","pause","onSleepTimerChanged","onFadeStart","durationSeconds","start","onFadeCancel","cancel","path","browserManager","value","tabs","_value","configuration","onPathChanged","onContentChanged","onTabsChanged","onNavigationError","onFormattedNavigationError","onChapterMetadata","onTrackMetadata","onTimedMetadata","onPlaybackActiveTrackChanged","onPlaybackError","onPlaybackPlayWhenReadyChanged","onPlaybackPlayingState","onPlaybackProgressUpdated","onPlaybackInterval","onPlaybackQueueEnded","onPlaybackQueueChanged","onPlaybackRepeatModeChanged","onPlaybackShuffleModeChanged","onPlaybackChanged","onRemoteJumpBackward","onRemoteJumpForward","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSkip","onRemoteStop","onOptionsChanged","onFavoriteChanged","onNowPlayingChanged","onOnlineChanged","onEqualizerChanged","onBatteryWarningPendingChanged","onBatteryOptimizationStatusChanged","onSystemVolumeChanged","onOutputChanged","onGate","resolveGate","gated","onCarConnectedChanged","handleRemoteJumpBackward","undefined","handleRemoteJumpForward","handleRemoteNext","handleRemotePause","handleRemotePlay","handleRemotePlayId","handleRemotePlaySearch","handleRemotePrevious","handleRemoteSeek","handleRemoteSkip","handleRemoteStop","httpClient","favoriteManager","navigationErrorManager","optionsManager","nowPlayingManager","searchManager","content","data","error","options","metadata","publishNowPlaying","addEventListener","state","newState","oldState","didStateChange","didErrorChange","code","message","refreshPlayingState","syncPlaybackState","next","_playWhenReady","lastPlayingState","playing","buffering","setMetadata","setupProgressUpdates","interval","progress","getProgress","track","queue","currentIndex","updateProgress","stop","enabled","onQueueEnded","position","element","currentTime","navigatePath","navigateTrack","navigateTrackAsync","handleLoad","startIndex","defaultBehavior","handler","handleTrackLoad","event","trySkipToExistingQueueTrack","trackId","parentPath","queueSourcePath","getQueue","index","findIndex","t","src","skip","play","expandQueueAndPlay","result","resolveMediaItemsForPlayback","tracks","length","setQueue","nav","kind","playSingleTrack","catch","Error","setNavigationError","load","search","query","reference","getContent","getNavigationError","getFormattedNavigationError","notifyContentChanged","invalidateAllContent","setFavorites","favorites","setupPlayer","updateOptions","repeatMode","setRepeatMode","playWhenReady","setPlayWhenReady","progressUpdateEventInterval","getOptions","resolveMediaUrl","request","media","reloadCurrent","sourceTrack","getTrack","callback","requireElement","clearNowPlayingOverride","setTracks","emitQueueChanged","replaceTrack","lastTrack","current","lastPosition","lastIndex","_loadInProgress","_pendingSeek","loadId","doLoad","resolvedTrack","loadedTrack","nowPlaying","getNowPlaying","playbackError","togglePlayback","add","insertBeforeIndex","remove","indexes","move","fromIndex","toIndex","removeUpcomingTracks","reset","pwr","didChange","clearSleepTimerIfFading","getPlayWhenReady","getPlayback","getPlayingState","getRepeatMode","mode","getShuffleEnabled","setShuffleEnabled","getPlaybackError","getSleepTimer","time","sleepWhenPlayedToEnd","setSleepTimer","seconds","fadeDuration","sleepAfter","isActive","clearSleepTimer","setSleepTimerToEndOfTrack","setToEndOfTrack","wasRunning","clear","onTrackEnded","startPosition","artwork","map","hydratedTrack","hydrateFavorite","transformTrackArtwork","getActiveTrackIndex","requirePlayer","getActiveTrack","setActiveTrackFavorited","favorited","addFavorite","removeFavorite","updatedTrack","toggleActiveTrackFavorited","isFavorited","updateNowPlaying","update","duration","flashNowPlaying","durationMs","nowPlayingFlashRevert","clearTimeout","setTimeout","clearNowPlayingFlash","getOnline","getEqualizerSettings","setEqualizerEnabled","_enabled","setEqualizerPreset","_preset","setEqualizerLevels","_levels","getBatteryWarningPending","getBatteryOptimizationStatus","dismissBatteryWarning","openBatterySettings","getSystemVolume","setSystemVolume","_volume","setGate","_gate","_hasResolver","clearGate","isCarConnected","getOutput","openOutputPicker","supportsOutputSwitcher"],"sourceRoot":"../../../src","sources":["web/NativeAudioBrowser.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getTrackIdentity","BrowserManager","classifyTrackNavigation","FavoriteManager","NavigationErrorManager","SearchManager","HttpClient","RequestConfigBuilder","NowPlayingManager","OptionsManager","RemoteCommandController","QueuePlayer","SleepTimerManager","VolumeFader","PlaybackTimer","derivePlayingState","BrowserPathHelper","NativeAudioBrowser","name","equals","dispose","clearUpdateEventInterval","setPlaybackIntervalEnabled","remoteCommands","window","onlineHandler","removeEventListener","offlineHandler","currentLoadId","progressTimer","intervalTimer","_online","navigator","onLine","sleepFader","getVolume","volume","setVolume","sleepTimer","constructor","parent","onComplete","console","log","resolve","pause","onSleepTimerChanged","onFadeStart","durationSeconds","start","onFadeCancel","cancel","path","browserManager","value","tabs","_value","configuration","onPathChanged","onContentChanged","onTabsChanged","onNavigationError","onFormattedNavigationError","onChapterMetadata","onTrackMetadata","onTimedMetadata","onPlaybackActiveTrackChanged","onPlaybackError","onPlaybackPlayWhenReadyChanged","onPlaybackPlayingState","onPlaybackProgressUpdated","onPlaybackInterval","onPlaybackQueueEnded","onPlaybackQueueChanged","onPlaybackRepeatModeChanged","onPlaybackShuffleModeChanged","onPlaybackChanged","onRemoteJumpBackward","onRemoteJumpForward","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSkip","onRemoteStop","onOptionsChanged","onFavoriteChanged","onNowPlayingChanged","onOnlineChanged","onEqualizerChanged","onBatteryWarningPendingChanged","onBatteryOptimizationStatusChanged","onSystemVolumeChanged","onOutputChanged","onGate","resolveGate","gated","onCarConnectedChanged","handleRemoteJumpBackward","undefined","handleRemoteJumpForward","handleRemoteNext","handleRemotePause","handleRemotePlay","handleRemotePlayId","handleRemotePlaySearch","handleRemotePrevious","handleRemoteSeek","handleRemoteSkip","handleRemoteStop","httpClient","favoriteManager","navigationErrorManager","optionsManager","nowPlayingManager","searchManager","content","data","error","options","metadata","publishNowPlaying","addEventListener","state","newState","oldState","didStateChange","didErrorChange","code","message","refreshPlayingState","syncPlaybackState","next","_playWhenReady","lastPlayingState","playing","buffering","setMetadata","setupProgressUpdates","interval","progress","getProgress","track","queue","currentIndex","updateProgress","stop","enabled","onQueueEnded","position","element","currentTime","navigatePath","navigateTrack","navigateTrackAsync","handleLoad","startIndex","defaultBehavior","handler","handleTrackLoad","event","trySkipToExistingQueueTrack","trackId","parentPath","queueSourcePath","getQueue","index","findIndex","t","extractIndex","skip","play","expandQueueAndPlay","result","resolveMediaItemsForPlayback","tracks","length","setQueue","disabled","nav","kind","playSingleTrack","catch","Error","setNavigationError","load","search","query","reference","getContent","getNavigationError","getFormattedNavigationError","notifyContentChanged","invalidateAllContent","setFavorites","favorites","setupPlayer","updateOptions","repeatMode","setRepeatMode","playWhenReady","setPlayWhenReady","progressUpdateEventInterval","getOptions","resolveMediaUrl","src","request","media","reloadCurrent","sourceTrack","getTrack","callback","requireElement","clearNowPlayingOverride","setTracks","emitQueueChanged","replaceTrack","lastTrack","current","lastPosition","lastIndex","_loadInProgress","_pendingSeek","loadId","doLoad","resolvedTrack","loadedTrack","nowPlaying","getNowPlaying","playbackError","togglePlayback","add","insertBeforeIndex","remove","indexes","move","fromIndex","toIndex","removeUpcomingTracks","reset","pwr","didChange","clearSleepTimerIfFading","getPlayWhenReady","getPlayback","getPlayingState","getRepeatMode","mode","getShuffleEnabled","setShuffleEnabled","getPlaybackError","getSleepTimer","time","sleepWhenPlayedToEnd","setSleepTimer","seconds","fadeDuration","sleepAfter","isActive","clearSleepTimer","setSleepTimerToEndOfTrack","setToEndOfTrack","wasRunning","clear","onTrackEnded","startPosition","artwork","map","hydratedTrack","hydrateFavorite","transformTrackArtwork","getActiveTrackIndex","requirePlayer","getActiveTrack","setActiveTrackFavorited","favorited","addFavorite","removeFavorite","updatedTrack","toggleActiveTrackFavorited","isFavorited","updateNowPlaying","update","duration","flashNowPlaying","durationMs","nowPlayingFlashRevert","clearTimeout","setTimeout","clearNowPlayingFlash","getOnline","getEqualizerSettings","setEqualizerEnabled","_enabled","setEqualizerPreset","_preset","setEqualizerLevels","_levels","getBatteryWarningPending","getBatteryOptimizationStatus","dismissBatteryWarning","openBatterySettings","getSystemVolume","setSystemVolume","_volume","setGate","_gate","_hasResolver","clearGate","isCarConnected","getOutput","openOutputPicker","supportsOutputSwitcher"],"sourceRoot":"../../../src","sources":["web/NativeAudioBrowser.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -55,8 +55,22 @@ export class QueueManager {
|
|
|
55
55
|
return this._currentIndex;
|
|
56
56
|
}
|
|
57
57
|
set currentIndex(index) {
|
|
58
|
+
const hadNoCurrent = this._currentIndex === undefined;
|
|
58
59
|
this._lastIndex = this._currentIndex;
|
|
59
60
|
this._currentIndex = index;
|
|
61
|
+
|
|
62
|
+
// A queue with no current track has an order that was shuffled with nothing
|
|
63
|
+
// to lead it — `setTracks` clears the index before regenerating, and
|
|
64
|
+
// `insert` drops new indices at random positions — so the track that then
|
|
65
|
+
// becomes current can sit anywhere, including last. That reads as
|
|
66
|
+
// end-of-queue immediately: `nextIndex` is undefined from the first track,
|
|
67
|
+
// so auto-advance fires onQueueEnded after one track. Re-pin at the moment
|
|
68
|
+
// the queue gains a current track. Safe as a setter hook here because the
|
|
69
|
+
// tracks are always in place before the index is assigned (both `setTracks`
|
|
70
|
+
// and `insert` run first).
|
|
71
|
+
if (hadNoCurrent && index !== undefined && this._shuffleEnabled) {
|
|
72
|
+
this.regenerateShuffleOrder();
|
|
73
|
+
}
|
|
60
74
|
}
|
|
61
75
|
get lastIndex() {
|
|
62
76
|
return this._lastIndex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["assertedNotNullish","fisherYatesShuffle","RepeatMode","QueueManager","_tracks","_repeatMode","Off","_shuffleEnabled","shuffleOrder","tracks","length","getTrack","index","setTracks","_currentIndex","undefined","_lastIndex","regenerateShuffleOrder","replaceTrack","track","currentIndex","lastIndex","repeatMode","mode","shuffleEnabled","setShuffleEnabled","enabled","Array","from","_","i","currentPos","indexOf","first","shuffleOrderInsert","at","count","map","idx","pos","Math","floor","random","splice","shuffleOrderRemove","removed","size","sorted","sort","a","b","filter","has","r","shuffleOrderMove","fromIndex","toIndex","adjusted","nextIndex","next","nextPos","previousIndex","prev","prevPos","wrapAroundFirstIndex","Queue","wrapAroundLastIndex","insert","insertBeforeIndex","Error","push","remove","indexes","idxSet","Set","current","removedBeforeCurrent","removedCurrent","_track","kind","move","item","removeUpcoming","dropped","add","slice","clear"],"sourceRoot":"../../../../src","sources":["web/TrackPlayer/QueueManager.ts"],"mappings":";;AAEA,SAASA,kBAAkB,QAAQ,wBAAwB;AAC3D,SAASC,kBAAkB,QAAQ,iBAAiB;AACpD,SAASC,UAAU,QAAQ,cAAc;;AAEzC;AACA;AACA;AACA;;AAKwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,CAAC;EAChBC,OAAO,GAAY,EAAE;EAGrBC,WAAW,GAAmBH,UAAU,CAACI,GAAG;EAC5CC,eAAe,GAAG,KAAK;EACvBC,YAAY,GAAa,EAAE;;EAEnC;;EAEA,IAAIC,MAAMA,CAAA,EAAY;IACpB,OAAO,IAAI,CAACL,OAAO;EACrB;EAEA,IAAIM,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACN,OAAO,CAACM,MAAM;EAC5B;EAEAC,QAAQA,CAACC,KAAa,EAAqB;IACzC,OAAO,IAAI,CAACR,OAAO,CAACQ,KAAK,CAAC;EAC5B;;EAEA;EACAC,SAASA,CAACJ,MAAe,EAAQ;IAC/B,IAAI,CAACL,OAAO,GAAGK,MAAM;IACrB,IAAI,CAACK,aAAa,GAAGC,SAAS;IAC9B,IAAI,CAACC,UAAU,GAAGD,SAAS;IAC3B,IAAI,IAAI,CAACR,eAAe,EAAE,IAAI,CAACU,sBAAsB,CAAC,CAAC;EACzD;;EAEA;EACAC,YAAYA,CAACN,KAAa,EAAEO,KAAY,EAAQ;IAC9C,IAAI,CAACf,OAAO,CAACQ,KAAK,CAAC,GAAGO,KAAK;EAC7B;;EAEA;;EAEA,IAAIC,YAAYA,CAAA,EAAuB;IACrC,OAAO,IAAI,CAACN,aAAa;EAC3B;EAEA,IAAIM,YAAYA,CAACR,KAAyB,EAAE;IAC1C,IAAI,
|
|
1
|
+
{"version":3,"names":["assertedNotNullish","fisherYatesShuffle","RepeatMode","QueueManager","_tracks","_repeatMode","Off","_shuffleEnabled","shuffleOrder","tracks","length","getTrack","index","setTracks","_currentIndex","undefined","_lastIndex","regenerateShuffleOrder","replaceTrack","track","currentIndex","hadNoCurrent","lastIndex","repeatMode","mode","shuffleEnabled","setShuffleEnabled","enabled","Array","from","_","i","currentPos","indexOf","first","shuffleOrderInsert","at","count","map","idx","pos","Math","floor","random","splice","shuffleOrderRemove","removed","size","sorted","sort","a","b","filter","has","r","shuffleOrderMove","fromIndex","toIndex","adjusted","nextIndex","next","nextPos","previousIndex","prev","prevPos","wrapAroundFirstIndex","Queue","wrapAroundLastIndex","insert","insertBeforeIndex","Error","push","remove","indexes","idxSet","Set","current","removedBeforeCurrent","removedCurrent","_track","kind","move","item","removeUpcoming","dropped","add","slice","clear"],"sourceRoot":"../../../../src","sources":["web/TrackPlayer/QueueManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { getTrackIdentity } from '../../utils/getTrackIdentity';
|
|
3
4
|
import { assertedNotNullish } from '../../utils/validation';
|
|
4
5
|
import { RequestConfigBuilder } from '../http/RequestConfigBuilder';
|
|
5
6
|
import { SimpleRouter } from '../SimpleRouter';
|
|
6
7
|
import { BrowserPathHelper } from '../util/BrowserPathHelper';
|
|
7
8
|
import { assertBrowsePageShape } from './assertBrowsePageShape';
|
|
8
9
|
import { parseSearchResponse } from './parseSearchResponse';
|
|
10
|
+
import { flattenSections, flattenedChildren, normalizePage, sectionContaining } from './sections';
|
|
9
11
|
|
|
10
12
|
/**
|
|
11
13
|
* Manages browser navigation, route resolution, and content loading.
|
|
@@ -123,14 +125,11 @@ export class BrowserManager {
|
|
|
123
125
|
// Determine initial path
|
|
124
126
|
let initialPath = value.path;
|
|
125
127
|
|
|
126
|
-
// If no path specified, try to get first tab
|
|
128
|
+
// If no path specified, try to get first tab path
|
|
127
129
|
if (!initialPath) {
|
|
128
130
|
const tabsRoute = value.routes?.find(r => r.path === '__tabs__');
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
} else {
|
|
132
|
-
initialPath = '/';
|
|
133
|
-
}
|
|
131
|
+
const staticTabs = tabsRoute?.browseStatic ? flattenedChildren(tabsRoute.browseStatic) : [];
|
|
132
|
+
initialPath = staticTabs[0]?.path ?? '/';
|
|
134
133
|
}
|
|
135
134
|
if (initialPath) {
|
|
136
135
|
void this.navigate(initialPath);
|
|
@@ -146,16 +145,16 @@ export class BrowserManager {
|
|
|
146
145
|
}
|
|
147
146
|
|
|
148
147
|
/**
|
|
149
|
-
* Navigates to a track's
|
|
148
|
+
* Navigates to a track's path.
|
|
150
149
|
*/
|
|
151
150
|
async navigateTrack(track) {
|
|
152
151
|
this.navigationErrorManager.clearNavigationError();
|
|
153
|
-
const
|
|
154
|
-
if (!
|
|
155
|
-
console.warn('Track has no
|
|
152
|
+
const path = track.path;
|
|
153
|
+
if (!path) {
|
|
154
|
+
console.warn('Track has no path to navigate to');
|
|
156
155
|
return;
|
|
157
156
|
}
|
|
158
|
-
await this.navigate(
|
|
157
|
+
await this.navigate(path);
|
|
159
158
|
}
|
|
160
159
|
|
|
161
160
|
/**
|
|
@@ -208,28 +207,15 @@ export class BrowserManager {
|
|
|
208
207
|
return;
|
|
209
208
|
}
|
|
210
209
|
|
|
211
|
-
//
|
|
212
|
-
// search
|
|
213
|
-
//
|
|
214
|
-
//
|
|
215
|
-
|
|
210
|
+
// Resolution returns canonical sectioned pages; add contextual paths
|
|
211
|
+
// to non-search content (matches Android behavior where search()
|
|
212
|
+
// bypasses the resolve() contextual-path logic). Copies avoid mutating
|
|
213
|
+
// the original config object (e.g., browseStatic from routes), which
|
|
214
|
+
// would break search that reads from the same source.
|
|
215
|
+
if (content?.sections && !isSearchPath) {
|
|
216
216
|
content = {
|
|
217
217
|
...content,
|
|
218
|
-
|
|
219
|
-
// If track has src, always add/update contextual URL with current path context
|
|
220
|
-
// This matches Android's BrowserManager.kt:436-441
|
|
221
|
-
if (track.src) {
|
|
222
|
-
const contextualUrl = `${path}?__trackId=${encodeURIComponent(track.src)}`;
|
|
223
|
-
return {
|
|
224
|
-
...track,
|
|
225
|
-
url: contextualUrl
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
// Return a shallow copy in attempt to avoid mutating original config objects
|
|
229
|
-
return {
|
|
230
|
-
...track
|
|
231
|
-
};
|
|
232
|
-
})
|
|
218
|
+
sections: this.addContextualPaths(path, content.sections)
|
|
233
219
|
};
|
|
234
220
|
}
|
|
235
221
|
|
|
@@ -274,13 +260,42 @@ export class BrowserManager {
|
|
|
274
260
|
}
|
|
275
261
|
}
|
|
276
262
|
|
|
263
|
+
/**
|
|
264
|
+
* Stamps contextual paths onto a page's sections. A playable track gets a
|
|
265
|
+
* contextual path carrying its identity (id ?? src) so the queue can be
|
|
266
|
+
* re-expanded from it later, plus its flat page position (children
|
|
267
|
+
* concatenated in section order — ADR 0009/0010) as a duplicate-identity
|
|
268
|
+
* tie-breaker. Non-playable tracks are shallow-copied to avoid mutating
|
|
269
|
+
* original config objects (e.g., browseStatic from routes).
|
|
270
|
+
*/
|
|
271
|
+
addContextualPaths(path, sections) {
|
|
272
|
+
let index = 0;
|
|
273
|
+
return sections.map(section => ({
|
|
274
|
+
...section,
|
|
275
|
+
children: section.children.map(track => {
|
|
276
|
+
const flatIndex = index++;
|
|
277
|
+
const identity = getTrackIdentity(track);
|
|
278
|
+
if (track.src && identity) {
|
|
279
|
+
return {
|
|
280
|
+
...track,
|
|
281
|
+
path: BrowserPathHelper.build(path, identity, flatIndex)
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
return {
|
|
285
|
+
...track
|
|
286
|
+
};
|
|
287
|
+
})
|
|
288
|
+
}));
|
|
289
|
+
}
|
|
290
|
+
|
|
277
291
|
/**
|
|
278
292
|
* Resolves search content from a search path.
|
|
279
|
-
* Returns a
|
|
293
|
+
* Returns a canonical sectioned page — one untitled section of raw search
|
|
294
|
+
* results (no contextual URLs), like the native `makeSearchResult`.
|
|
280
295
|
* Matches Android's BrowserManager.search() which bypasses resolve() entirely.
|
|
281
296
|
*
|
|
282
297
|
* @param searchPath The search path (format: /__search?q=query)
|
|
283
|
-
* @returns ResolvedTrack containing search results as
|
|
298
|
+
* @returns ResolvedTrack containing search results as one untitled section
|
|
284
299
|
*/
|
|
285
300
|
async resolveSearchContent(searchPath) {
|
|
286
301
|
// Extract query from search path
|
|
@@ -318,13 +333,12 @@ export class BrowserManager {
|
|
|
318
333
|
}
|
|
319
334
|
}
|
|
320
335
|
|
|
321
|
-
//
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
url: searchPath,
|
|
336
|
+
// Search callbacks should return fresh tracks without contextual paths (like Android)
|
|
337
|
+
return normalizePage({
|
|
338
|
+
path: searchPath,
|
|
325
339
|
title: `Search: ${query}`,
|
|
326
340
|
children: searchResults
|
|
327
|
-
};
|
|
341
|
+
});
|
|
328
342
|
}
|
|
329
343
|
|
|
330
344
|
/**
|
|
@@ -345,30 +359,35 @@ export class BrowserManager {
|
|
|
345
359
|
// Transform parent artwork
|
|
346
360
|
const parentArtworkSource = await RequestConfigBuilder.resolveArtworkSourceAsync(content, requestConfig, artworkConfig);
|
|
347
361
|
|
|
348
|
-
// Transform children artwork
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
362
|
+
// Transform children artwork, section by section
|
|
363
|
+
const transformTrack = async track => {
|
|
364
|
+
const artworkSource = await RequestConfigBuilder.resolveArtworkSourceAsync(track, requestConfig, artworkConfig);
|
|
365
|
+
if (artworkSource && !track.artworkSource) {
|
|
366
|
+
return {
|
|
367
|
+
...track,
|
|
368
|
+
artworkSource
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
return track;
|
|
372
|
+
};
|
|
373
|
+
let transformedSections;
|
|
374
|
+
if (content.sections) {
|
|
375
|
+
transformedSections = await Promise.all(content.sections.map(async section => ({
|
|
376
|
+
...section,
|
|
377
|
+
children: await Promise.all(section.children.map(transformTrack))
|
|
378
|
+
})));
|
|
361
379
|
}
|
|
362
380
|
return {
|
|
363
381
|
...content,
|
|
364
382
|
artworkSource: parentArtworkSource ?? content.artworkSource,
|
|
365
|
-
|
|
383
|
+
sections: transformedSections ?? content.sections
|
|
366
384
|
};
|
|
367
385
|
}
|
|
368
386
|
|
|
369
387
|
/**
|
|
370
388
|
* Resolves content from a route using browseCallback, browseStatic, or browseConfig.
|
|
371
|
-
* Single source of truth for route resolution logic.
|
|
389
|
+
* Single source of truth for route resolution logic. Returns canonical
|
|
390
|
+
* sectioned pages (normalizePage) — consumers never see authored `children`.
|
|
372
391
|
*
|
|
373
392
|
* @param route The route configuration to resolve
|
|
374
393
|
* @param path The path being navigated to
|
|
@@ -388,19 +407,20 @@ export class BrowserManager {
|
|
|
388
407
|
this.navigationErrorManager.setNavigationError('callback-error', result.error, path);
|
|
389
408
|
return undefined;
|
|
390
409
|
}
|
|
391
|
-
return result;
|
|
410
|
+
return normalizePage(result);
|
|
392
411
|
}
|
|
393
412
|
|
|
394
|
-
// Handle static ResolvedTrack route
|
|
413
|
+
// Handle static ResolvedTrack route (normalizePage also copies, so the
|
|
414
|
+
// config object itself is never handed out)
|
|
395
415
|
if (route.browseStatic) {
|
|
396
|
-
return route.browseStatic;
|
|
416
|
+
return normalizePage(route.browseStatic);
|
|
397
417
|
}
|
|
398
418
|
|
|
399
419
|
// Handle request config-based route via the layered request → browse → route
|
|
400
420
|
// chain (matches native's resolveRouteEntry → resolveFromConfig).
|
|
401
421
|
if (route.browseConfig) {
|
|
402
422
|
try {
|
|
403
|
-
return await this.resolveFromConfig(this._configuration.browse, route.browseConfig, path, routeParams);
|
|
423
|
+
return normalizePage(await this.resolveFromConfig(this._configuration.browse, route.browseConfig, path, routeParams));
|
|
404
424
|
} catch (error) {
|
|
405
425
|
console.error(`Failed to resolve ${errorContext}:`, error);
|
|
406
426
|
this.handleNavigationError(error, path);
|
|
@@ -489,6 +509,8 @@ export class BrowserManager {
|
|
|
489
509
|
|
|
490
510
|
/**
|
|
491
511
|
* Resolves content for a specific path using configured routes.
|
|
512
|
+
* Like the native resolve pipelines, the returned page is canonical
|
|
513
|
+
* sectioned shape — `children` sugar is normalized away at this seam.
|
|
492
514
|
*/
|
|
493
515
|
async resolveContent(path) {
|
|
494
516
|
const routes = this._configuration.routes;
|
|
@@ -530,9 +552,9 @@ export class BrowserManager {
|
|
|
530
552
|
// there's no content.
|
|
531
553
|
if (this._configuration.request || this._configuration.requestResolver || this._configuration.browse || this._configuration.browseResolver) {
|
|
532
554
|
try {
|
|
533
|
-
return await this.resolveFromConfig(this._configuration.browse, undefined, path, {
|
|
555
|
+
return normalizePage(await this.resolveFromConfig(this._configuration.browse, undefined, path, {
|
|
534
556
|
path
|
|
535
|
-
});
|
|
557
|
+
}));
|
|
536
558
|
} catch (error) {
|
|
537
559
|
console.error('Failed to resolve default browse content:', error);
|
|
538
560
|
this.handleNavigationError(error, path);
|
|
@@ -551,7 +573,8 @@ export class BrowserManager {
|
|
|
551
573
|
return [];
|
|
552
574
|
}
|
|
553
575
|
const result = await this.resolveRouteContent(tabsRoute, '/', {}, 'Tabs');
|
|
554
|
-
|
|
576
|
+
// Tabs are a flat list, not a page — a sectioned tabs source flattens.
|
|
577
|
+
const tabs = result ? flattenSections(result.sections) : [];
|
|
555
578
|
|
|
556
579
|
// Transform artwork URLs on tabs via the async resolver so the shared
|
|
557
580
|
// request layer (incl. its transform) applies, matching content/search.
|
|
@@ -582,35 +605,65 @@ export class BrowserManager {
|
|
|
582
605
|
/**
|
|
583
606
|
* Expands a queue from a contextual URL.
|
|
584
607
|
* Resolves the parent container to get all siblings.
|
|
585
|
-
* Matches Android's BrowserManager.
|
|
608
|
+
* Matches Android's BrowserManager.expandQueueFromContextualPath() behavior.
|
|
586
609
|
*
|
|
587
|
-
* @param
|
|
610
|
+
* @param contextualPath The contextual path (format: /path?__trackId=trackSrc)
|
|
588
611
|
* @returns Object with tracks and selectedIndex, or undefined if expansion fails
|
|
589
612
|
*/
|
|
590
|
-
async
|
|
591
|
-
const trackId = BrowserPathHelper.extractTrackId(
|
|
613
|
+
async expandQueueFromContextualPath(contextualPath) {
|
|
614
|
+
const trackId = BrowserPathHelper.extractTrackId(contextualPath);
|
|
592
615
|
if (!trackId) return undefined;
|
|
593
616
|
try {
|
|
594
617
|
// Resolve the parent container to get all siblings
|
|
595
|
-
const parentPath = BrowserPathHelper.stripTrackId(
|
|
618
|
+
const parentPath = BrowserPathHelper.stripTrackId(contextualPath);
|
|
596
619
|
const parentResolvedTrack = await this.resolveContent(parentPath);
|
|
597
|
-
const
|
|
598
|
-
if (!
|
|
620
|
+
const rawSections = parentResolvedTrack?.sections;
|
|
621
|
+
if (!rawSections || rawSections.every(s => s.children.length === 0)) {
|
|
599
622
|
console.warn('Parent has no children, cannot expand queue');
|
|
600
623
|
return undefined;
|
|
601
624
|
}
|
|
602
625
|
|
|
603
|
-
//
|
|
604
|
-
|
|
626
|
+
// Stamp contextual paths so queued tracks carry their own queue context
|
|
627
|
+
// (navigate() stamps the displayed page the same way).
|
|
628
|
+
const sections = this.addContextualPaths(parentPath, rawSections);
|
|
629
|
+
|
|
630
|
+
// Queue scope is the tapped section, not the whole page (ADR 0006).
|
|
631
|
+
// The stamped flat index pins which section (and which copy) was
|
|
632
|
+
// tapped when the same identity appears more than once; a stale index
|
|
633
|
+
// falls back to the first identity match. An identity that no longer
|
|
634
|
+
// appears on the page aborts the expansion — the caller falls back to
|
|
635
|
+
// the single track.
|
|
636
|
+
const tappedIndex = BrowserPathHelper.extractIndex(contextualPath);
|
|
637
|
+
const scoped = sectionContaining(sections, trackId, tappedIndex);
|
|
638
|
+
if (!scoped) {
|
|
639
|
+
console.warn(`Track with identity='${trackId}' not found on parent page`);
|
|
640
|
+
return undefined;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
// Filter to only playable tracks (tracks with src). A disabled track is
|
|
644
|
+
// unavailable — queue expansion excludes it, so auto-advance never
|
|
645
|
+
// meets one (Track.disabled).
|
|
646
|
+
const isQueueable = track => track.src != null && track.disabled !== true;
|
|
647
|
+
const playableTracks = scoped.tracks.filter(isQueueable);
|
|
605
648
|
if (playableTracks.length === 0) {
|
|
606
|
-
console.warn('
|
|
649
|
+
console.warn('Section has no playable tracks, cannot expand queue');
|
|
607
650
|
return undefined;
|
|
608
651
|
}
|
|
609
652
|
|
|
610
|
-
//
|
|
611
|
-
|
|
653
|
+
// Selected position: the pinned copy when the stamp survived, else
|
|
654
|
+
// the first identity match.
|
|
655
|
+
let selectedIndex = -1;
|
|
656
|
+
if (scoped.tappedOffset !== undefined) {
|
|
657
|
+
const tapped = scoped.tracks[scoped.tappedOffset];
|
|
658
|
+
if (tapped != null && isQueueable(tapped)) {
|
|
659
|
+
selectedIndex = scoped.tracks.slice(0, scoped.tappedOffset + 1).filter(isQueueable).length - 1;
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
if (selectedIndex < 0) {
|
|
663
|
+
selectedIndex = playableTracks.findIndex(track => getTrackIdentity(track) === trackId);
|
|
664
|
+
}
|
|
612
665
|
if (selectedIndex < 0) {
|
|
613
|
-
console.warn(`Track with
|
|
666
|
+
console.warn(`Track with identity='${trackId}' not found in playable children`);
|
|
614
667
|
return undefined;
|
|
615
668
|
}
|
|
616
669
|
|
|
@@ -626,7 +679,7 @@ export class BrowserManager {
|
|
|
626
679
|
selectedIndex
|
|
627
680
|
};
|
|
628
681
|
} catch (error) {
|
|
629
|
-
console.error(`Error expanding queue from contextual
|
|
682
|
+
console.error(`Error expanding queue from contextual path: ${contextualPath}`, error);
|
|
630
683
|
return undefined;
|
|
631
684
|
}
|
|
632
685
|
}
|
|
@@ -643,19 +696,23 @@ export class BrowserManager {
|
|
|
643
696
|
* @returns Object with expanded tracks and starting index
|
|
644
697
|
*/
|
|
645
698
|
async resolveMediaItemsForPlayback(tracks, startIndex, startPositionMs, searchQuery) {
|
|
646
|
-
// Single track: check for search context or contextual
|
|
699
|
+
// Single track: check for search context or contextual path
|
|
647
700
|
if (tracks.length === 1) {
|
|
648
701
|
const track = assertedNotNullish(tracks[0]);
|
|
649
|
-
const
|
|
702
|
+
const trackPath = track.path;
|
|
650
703
|
|
|
651
704
|
// If search query present, expand search results
|
|
652
705
|
if (searchQuery) {
|
|
653
|
-
// Execute search (will hit cache if already performed)
|
|
706
|
+
// Execute search (will hit cache if already performed). Disabled
|
|
707
|
+
// tracks never play, so they never enter a search-built queue
|
|
708
|
+
// (Track.disabled — mirrors both native platforms).
|
|
654
709
|
const searchResults = await this.resolveSearchContent(BrowserPathHelper.createSearchPath(searchQuery));
|
|
655
|
-
const searchTracks = searchResults?.
|
|
656
|
-
if (searchTracks
|
|
657
|
-
// Find the selected track in search results
|
|
658
|
-
|
|
710
|
+
const searchTracks = flattenSections(searchResults?.sections).filter(t => t.disabled !== true);
|
|
711
|
+
if (searchTracks.length > 0) {
|
|
712
|
+
// Find the selected track in search results by path or identity
|
|
713
|
+
// (matches Android's three-way mediaId match)
|
|
714
|
+
const identity = getTrackIdentity(track);
|
|
715
|
+
const selectedIdx = searchTracks.findIndex(t => t.path === trackPath || identity !== undefined && getTrackIdentity(t) === identity);
|
|
659
716
|
if (selectedIdx >= 0) {
|
|
660
717
|
return {
|
|
661
718
|
tracks: searchTracks,
|
|
@@ -666,14 +723,14 @@ export class BrowserManager {
|
|
|
666
723
|
}
|
|
667
724
|
}
|
|
668
725
|
|
|
669
|
-
// Check if contextual
|
|
726
|
+
// Check if contextual path - expand from parent
|
|
670
727
|
// Note: The queueSourcePath optimization is handled by the caller (NativeAudioBrowser.navigateTrackAsync)
|
|
671
728
|
// which has access to the existing queue and can skip to the track directly.
|
|
672
729
|
// This matches Android where MediaSessionCallback handles the optimization before calling
|
|
673
730
|
// BrowserManager.resolveMediaItemsForPlayback.
|
|
674
|
-
if (
|
|
675
|
-
const parentPath = BrowserPathHelper.stripTrackId(
|
|
676
|
-
const expanded = await this.
|
|
731
|
+
if (trackPath && BrowserPathHelper.isContextual(trackPath)) {
|
|
732
|
+
const parentPath = BrowserPathHelper.stripTrackId(trackPath);
|
|
733
|
+
const expanded = await this.expandQueueFromContextualPath(trackPath);
|
|
677
734
|
if (expanded) {
|
|
678
735
|
// Store source path for optimization by caller on next invocation
|
|
679
736
|
this._queueSourcePath = parentPath;
|
|
@@ -695,13 +752,13 @@ export class BrowserManager {
|
|
|
695
752
|
}
|
|
696
753
|
|
|
697
754
|
/**
|
|
698
|
-
* Gets the default navigation path (first tab
|
|
755
|
+
* Gets the default navigation path (first tab path or '/').
|
|
699
756
|
*/
|
|
700
757
|
getDefaultPath() {
|
|
701
758
|
// Try to get first tab as default path
|
|
702
759
|
if (this._tabs && this._tabs.length > 0) {
|
|
703
760
|
const firstTab = this._tabs[0];
|
|
704
|
-
return firstTab?.
|
|
761
|
+
return firstTab?.path ?? '/';
|
|
705
762
|
}
|
|
706
763
|
return '/';
|
|
707
764
|
}
|