react-native-audio-browser 0.2.0-next.11 → 0.2.0-next.12
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 +4 -4
- package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +110 -25
- package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +254 -188
- package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +23 -3
- package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +77 -58
- package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +68 -26
- package/android/src/main/java/com/audiobrowser/browser/StyleResolver.kt +49 -0
- package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +9 -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/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 +93 -73
- package/android/src/main/java/com/audiobrowser/player/Player.kt +48 -30
- package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +2 -15
- 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 +35 -0
- package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +45 -53
- package/android/src/test/java/com/audiobrowser/TestFixtures.kt +26 -39
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerFavoritesTest.kt +153 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +228 -50
- package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +38 -0
- package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +1 -1
- package/android/src/test/java/com/audiobrowser/browser/JsonStyleTest.kt +91 -0
- package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +128 -53
- package/android/src/test/java/com/audiobrowser/browser/StyleResolverTest.kt +87 -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/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 +131 -143
- package/ios/Browser/BrowserPathHelper.swift +44 -44
- package/ios/Browser/JsonModels.swift +187 -106
- package/ios/Browser/SearchDrillIn.swift +6 -6
- package/ios/Browser/SectionPresentation.swift +34 -0
- package/ios/Browser/SectionScope.swift +58 -24
- package/ios/Browser/StyleResolver.swift +47 -0
- package/ios/Browser/TabBarEntries.swift +2 -2
- package/ios/Browser/TrackIdTemplate.swift +37 -0
- package/ios/CarPlay/CarPlayArtworkResolver.swift +8 -7
- package/ios/CarPlay/CarPlayController.swift +105 -67
- package/ios/CarPlay/CarPlayImageLoader.swift +38 -18
- package/ios/CarPlay/CarPlayListItemFactory.swift +217 -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/HybridAudioBrowser.swift +113 -35
- package/ios/Model/NitroTypeStubs.swift +46 -21
- package/ios/Model/PlayerUpdateOptions.swift +7 -0
- package/ios/Player/NowPlayingUpdater.swift +1 -1
- package/ios/Player/PlaybackCoordinator.swift +2 -2
- package/ios/Player/RetryManager.swift +4 -3
- package/ios/Tests/BrowserPathHelperTests.swift +50 -20
- package/ios/Tests/CarPlayArtworkResolverTests.swift +24 -41
- package/ios/Tests/JsonModelsTests.swift +75 -1
- package/ios/Tests/PlaybackStateStoreTests.swift +4 -3
- package/ios/Tests/ResolvedTrackCopyingTests.swift +37 -35
- package/ios/Tests/SearchDrillInTests.swift +16 -16
- package/ios/Tests/SectionPresentationTests.swift +61 -0
- package/ios/Tests/SectionScopeTests.swift +87 -55
- package/ios/Tests/StyleResolverTests.swift +67 -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/TrackSelector.swift +45 -30
- package/ios/Util/ArtworkImageFetcher.swift +16 -1
- 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/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/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/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/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/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 +260 -127
- 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 +4 -3
- package/nitrogen/generated/android/c++/JBrowseResult.hpp +10 -4
- package/nitrogen/generated/android/c++/JCarPlayPlayingIndicatorLocation.hpp +58 -0
- package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +4 -3
- package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +4 -2
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +4 -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 +10 -4
- package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +2 -5
- package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +9 -3
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +4 -2
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +21 -14
- package/nitrogen/generated/android/c++/JIOSOptions.hpp +9 -3
- package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +4 -3
- package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +16 -10
- package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +8 -2
- package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +6 -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 +4 -3
- package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +5 -11
- package/nitrogen/generated/android/c++/JResolvedTrack.hpp +49 -51
- package/nitrogen/generated/android/c++/JSection.hpp +114 -0
- package/nitrogen/generated/android/c++/JSectionStyle.hpp +69 -0
- package/nitrogen/generated/android/c++/JStyleDisplay.hpp +58 -0
- package/nitrogen/generated/android/c++/JTrack.hpp +19 -48
- package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +4 -2
- package/nitrogen/generated/android/c++/JTrackStyle.hpp +25 -18
- package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +10 -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/IOSOptions.kt +6 -3
- 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/Section.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoriteConfig.kt → SectionStyle.kt} +12 -6
- 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 +23 -5
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +104 -82
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +16 -10
- package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +16 -10
- package/nitrogen/generated/ios/swift/ArtworkRendering.swift +40 -0
- package/nitrogen/generated/ios/swift/CarPlayPlayingIndicatorLocation.swift +40 -0
- package/nitrogen/generated/ios/swift/IOSOptions.swift +7 -2
- 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 +64 -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 +28 -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++/IOSOptions.hpp +9 -2
- 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 +96 -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 +50 -34
- package/package.json +1 -1
- 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/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 +139 -0
- package/src/types/browser-native.ts +2 -2
- package/src/types/browser-nodes.ts +268 -136
- 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/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/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","require","_classifyTrackNavigation","_FavoriteManager","_NavigationErrorManager","_SearchManager","_HttpClient","_RequestConfigBuilder","_NowPlayingManager","_OptionsManager","_RemoteCommandController","_TrackPlayer","_PlaybackTimer","_PlayingStateFactory","NativeAudioBrowser","QueuePlayer","name","equals","dispose","clearUpdateEventInterval","setPlaybackIntervalEnabled","remoteCommands","window","onlineHandler","removeEventListener","offlineHandler","currentLoadId","progressTimer","PlaybackTimer","intervalTimer","_online","navigator","onLine","sleepFader","VolumeFader","getVolume","volume","setVolume","sleepTimer","SleepTimerManager","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","HttpClient","favoriteManager","FavoriteManager","navigationErrorManager","NavigationErrorManager","optionsManager","OptionsManager","nowPlayingManager","NowPlayingManager","RemoteCommandController","BrowserManager","searchManager","SearchManager","content","data","error","options","metadata","publishNowPlaying","addEventListener","state","newState","oldState","didStateChange","didErrorChange","code","message","refreshPlayingState","syncPlaybackState","next","derivePlayingState","_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","classifyTrackNavigation","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","RequestConfigBuilder","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","exports"],"sourceRoot":"../../../src","sources":["web/NativeAudioBrowser.ts"],"mappings":";;;;;;AA8CA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,uBAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AACA,IAAAO,kBAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,wBAAA,GAAAT,OAAA;AACA,IAAAU,YAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA;AACA,IAAAY,oBAAA,GAAAZ,OAAA;AAEA;AACA;AACA;AACO,MAAMa,kBAAkB,SACrBC,wBAAW,CAErB;EACE;EACSC,IAAI,GAAG,iBAAiB;EACjCC,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI;EACb;EACAC,OAAOA,CAAA,EAAG;IACR,IAAI,CAACC,wBAAwB,CAAC,CAAC;IAC/B,IAAI,CAACC,0BAA0B,CAAC,KAAK,CAAC;IACtC,IAAI,CAACC,cAAc,CAACH,OAAO,CAAC,CAAC;IAC7B;IACA,IAAI,OAAOI,MAAM,KAAK,WAAW,IAAI,IAAI,CAACC,aAAa,EAAE;MACvDD,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACD,aAAa,CAAC;IAC1D;IACA,IAAI,OAAOD,MAAM,KAAK,WAAW,IAAI,IAAI,CAACG,cAAc,EAAE;MACxDH,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACC,cAAc,CAAC;IAC5D;EACF;;EAEA;;EAUA;EACQC,aAAa,GAAG,CAAC;EACjBC,aAAa,GAAG,IAAIC,4BAAa,CAAC,CAAC;EACnCC,aAAa,GAAG,IAAID,4BAAa,CAAC,CAAC;EACnCE,OAAO,GACb,OAAOC,SAAS,KAAK,WAAW,GAAGA,SAAS,CAACC,MAAM,GAAG,IAAI;EAGpDC,UAAU,GAAG,IAAIC,wBAAW,CAClC,MAAM,IAAI,CAACC,SAAS,CAAC,CAAC,EACrBC,MAAM,IAAK,IAAI,CAACC,SAAS,CAACD,MAAM,CACnC,CAAC;EACOE,UAAU,GAAG,IAAK,cAAcC,8BAAiB,CAAC;IACxDC,WAAWA,CAASC,MAA0B,EAAE;MAC9C,KAAK,CAAC,CAAC;MAAA,KADWA,MAA0B,GAA1BA,MAA0B;IAE9C;IACUC,UAAUA,CAAA,EAAS;MAC3BC,OAAO,CAACC,GAAG,CAAC,yCAAyC,CAAC;MACtD,IAAI,CAACH,MAAM,CAACR,UAAU,CAACY,OAAO,CAAC,MAAM,IAAI,CAACJ,MAAM,CAACK,KAAK,CAAC,CAAC,CAAC;MACzD,IAAI,CAACL,MAAM,CAACM,mBAAmB,CAAC,IAAI,CAAC;IACvC;IACUC,WAAWA,CAACC,eAAuB,EAAQ;MACnD,IAAI,CAACR,MAAM,CAACR,UAAU,CAACiB,KAAK,CAACD,eAAe,CAAC;IAC/C;IACUE,YAAYA,CAAA,EAAS;MAC7B,IAAI,CAACV,MAAM,CAACR,UAAU,CAACmB,MAAM,CAAC,IAAI,CAAC;IACrC;EACF,CAAC,CAAE,IAAI,CAAC;;EAER;EACA,IAAIC,IAAIA,CAAA,EAAuB;IAC7B,OAAO,IAAI,CAACC,cAAc,CAACD,IAAI;EACjC;EAEA,IAAIA,IAAIA,CAACE,KAAyB,EAAE;IAClC,IAAI,CAACD,cAAc,CAACD,IAAI,GAAGE,KAAK;EAClC;EAEA,IAAIC,IAAIA,CAAA,EAAwB;IAC9B,OAAO,IAAI,CAACF,cAAc,CAACE,IAAI;EACjC;EAEA,IAAIA,IAAIA,CAACC,MAA2B,EAAE;IACpC;EAAA;EAGF,IAAIC,aAAaA,CAAA,EAA+B;IAC9C,OAAO,IAAI,CAACJ,cAAc,CAACI,aAAa;EAC1C;EAEA,IAAIA,aAAaA,CAACH,KAAiC,EAAE;IACnD,IAAI,CAACD,cAAc,CAACI,aAAa,GAAGH,KAAK;EAC3C;;EAEA;EACAI,aAAa,GAA2BA,CAAA,KAAM,CAAC,CAAC;EAChDC,gBAAgB,GAAiDA,CAAA,KAAM,CAAC,CAAC;EACzEC,aAAa,GAA4BA,CAAA,KAAM,CAAC,CAAC;EACjDC,iBAAiB,GAAyCA,CAAA,KAAM,CAAC,CAAC;EAClEC,0BAA0B,GAEdA,CAAA,KAAM,CAAC,CAAC;;EAEpB;EACAC,iBAAiB,GAA0CA,CAAA,KAAM,CAAC,CAAC;EACnEC,eAAe,GAAsCA,CAAA,KAAM,CAAC,CAAC;EAC7DC,eAAe,GAAsCA,CAAA,KAAM,CAAC,CAAC;EAC7DC,4BAA4B,GAEhBA,CAAA,KAAM,CAAC,CAAC;EACpBC,eAAe,GAAuCA,CAAA,KAAM,CAAC,CAAC;EAC9DC,8BAA8B,GAElBA,CAAA,KAAM,CAAC,CAAC;EACpBC,sBAAsB,GAAiCA,CAAA,KAAM,CAAC,CAAC;EAC/DC,yBAAyB,GACvBA,CAAA,KAAM,CAAC,CAAC;EACVC,kBAAkB,GAAeA,CAAA,KAAM,CAAC,CAAC;EACzCC,oBAAoB,GAA4CA,CAAA,KAAM,CAAC,CAAC;EACxEC,sBAAsB,GAA6BA,CAAA,KAAM,CAAC,CAAC;EAC3DC,2BAA2B,GAA2CA,CAAA,KAAM,CAAC,CAAC;EAC9EC,4BAA4B,GAA+BA,CAAA,KAAM,CAAC,CAAC;EACnE7B,mBAAmB,GAA2CA,CAAA,KAAM,CAAC,CAAC;EACtE8B,iBAAiB,GAA6BA,CAAA,KAAM,CAAC,CAAC;EACtDC,oBAAoB,GAA6CA,CAAA,KAAM,CAAC,CAAC;EACzEC,mBAAmB,GAA4CA,CAAA,KAAM,CAAC,CAAC;EACvEC,YAAY,GAAeA,CAAA,KAAM,CAAC,CAAC;EACnCC,aAAa,GAAeA,CAAA,KAAM,CAAC,CAAC;EACpCC,YAAY,GAAeA,CAAA,KAAM,CAAC,CAAC;EACnCC,cAAc,GAAuCA,CAAA,KAAM,CAAC,CAAC;EAC7DC,kBAAkB,GAA2CA,CAAA,KAAM,CAAC,CAAC;EACrEC,gBAAgB,GAAeA,CAAA,KAAM,CAAC,CAAC;EACvCC,YAAY,GAAqCA,CAAA,KAAM,CAAC,CAAC;EACzDC,YAAY,GAAqCA,CAAA,KAAM,CAAC,CAAC;EACzDC,YAAY,GAAeA,CAAA,KAAM,CAAC,CAAC;EACnCC,gBAAgB,GAA6BA,CAAA,KAAM,CAAC,CAAC;EACrDC,iBAAiB,GAA0CA,CAAA,KAAM,CAAC,CAAC;EACnEC,mBAAmB,GAA2CA,CAAA,KAAM,CAAC,CAAC;EACtEC,eAAe,GAA8BA,CAAA,KAAM,CAAC,CAAC;EACrDC,kBAAkB,GAA0CA,CAAA,KAAM,CAAC,CAAC;EACpEC,8BAA8B,GAElBA,CAAA,KAAM,CAAC,CAAC;EACpBC,kCAAkC,GAEtBA,CAAA,KAAM,CAAC,CAAC;EACpBC,qBAAqB,GAA6BA,CAAA,KAAM,CAAC,CAAC;EAC1DC,eAAe,GAA6BA,CAAA,KAAM,CAAC,CAAC;EACpDC,MAAM,GAA+BA,CAAA,KAAM,CAAC,CAAC;EAC7C;EACA;EACA;EACAC,WAAW,GACT,MAAAA,CAAA,MAAa;IAAEC,KAAK,EAAE;EAAK,CAAC,CAAC;EAC/BC,qBAAqB,GAAiCA,CAAA,KAAM,CAAC,CAAC;;EAE9D;EACAC,wBAAwB,GAERC,SAAS;EACzBC,uBAAuB,GAEPD,SAAS;EACzBE,gBAAgB,GAA6BF,SAAS;EACtDG,iBAAiB,GAA6BH,SAAS;EACvDI,gBAAgB,GAA6BJ,SAAS;EACtDK,kBAAkB,GAChBL,SAAS;EACXM,sBAAsB,GACpBN,SAAS;EACXO,oBAAoB,GAA6BP,SAAS;EAC1DQ,gBAAgB,GAAmDR,SAAS;EAC5ES,gBAAgB,GAA6BT,SAAS;EACtDU,gBAAgB,GAA6BV,SAAS;;EAEtD;EACA/D,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;;IAEP;IACA,IAAI,CAAC0E,UAAU,GAAG,IAAIC,sBAAU,CAAC,CAAC;IAClC,IAAI,CAACC,eAAe,GAAG,IAAIC,gCAAe,CAAC,CAAC;IAC5C,IAAI,CAACC,sBAAsB,GAAG,IAAIC,8CAAsB,CAAC,CAAC;IAC1D,IAAI,CAACC,cAAc,GAAG,IAAIC,8BAAc,CAAC,CAAC;IAC1C,IAAI,CAACC,iBAAiB,GAAG,IAAIC,oCAAiB,CAAC,CAAC;IAChD,IAAI,CAACtG,cAAc,GAAG,IAAIuG,gDAAuB,CAAC,IAAI,CAAC;IAEvD,IAAI,CAACtE,cAAc,GAAG,IAAIuE,8BAAc,CACtC,IAAI,CAACX,UAAU,EACf,IAAI,CAACE,eAAe,EACpB,IAAI,CAACE,sBACP,CAAC;IAED,IAAI,CAACQ,aAAa,GAAG,IAAIC,4BAAa,CAAC,IAAI,CAACzE,cAAc,CAAC;;IAE3D;IACA,IAAI,CAACA,cAAc,CAACK,aAAa,GAAIN,IAAI,IAAK,IAAI,CAACM,aAAa,CAACN,IAAI,CAAC;IACtE,IAAI,CAACC,cAAc,CAACM,gBAAgB,GAAIoE,OAAO,IAC7C,IAAI,CAACpE,gBAAgB,CAACoE,OAAO,CAAC;IAChC,IAAI,CAAC1E,cAAc,CAACO,aAAa,GAAIL,IAAI,IAAK,IAAI,CAACK,aAAa,CAACL,IAAI,CAAC;IACtE,IAAI,CAAC8D,sBAAsB,CAACxD,iBAAiB,GAAImE,IAAI,IACnD,IAAI,CAACnE,iBAAiB,CAACmE,IAAI,CAAC;IAC9B,IAAI,CAACX,sBAAsB,CAACvD,0BAA0B,GAAImE,KAAK,IAC7D,IAAI,CAACnE,0BAA0B,CAACmE,KAAK,CAAC;IACxC,IAAI,CAACV,cAAc,CAAC/B,gBAAgB,GAAI0C,OAAO,IAC7C,IAAI,CAAC1C,gBAAgB,CAAC0C,OAAO,CAAC;IAChC,IAAI,CAACT,iBAAiB,CAAC/B,mBAAmB,GAAIyC,QAAQ,IACpD,IAAI,CAACC,iBAAiB,CAACD,QAAQ,CAAC;;IAElC;IACA,IAAI,OAAO9G,MAAM,KAAK,WAAW,EAAE;MACjC,IAAI,CAACC,aAAa,GAAG,MAAM;QACzB,IAAI,CAACO,OAAO,GAAG,IAAI;QACnB,IAAI,CAAC8D,eAAe,CAAC,IAAI,CAAC;MAC5B,CAAC;MACD,IAAI,CAACnE,cAAc,GAAG,MAAM;QAC1B,IAAI,CAACK,OAAO,GAAG,KAAK;QACpB,IAAI,CAAC8D,eAAe,CAAC,KAAK,CAAC;MAC7B,CAAC;MACDtE,MAAM,CAACgH,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC/G,aAAa,CAAC;MACrDD,MAAM,CAACgH,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC7G,cAAc,CAAC;IACzD;EACF;;EAEA;EACA,IAAc8G,KAAKA,CAAA,EAAa;IAC9B,OAAO,KAAK,CAACA,KAAK;EACpB;EAEA,IAAcA,KAAKA,CAACC,QAAkB,EAAE;IACtC,MAAMC,QAAQ,GAAG,KAAK,CAACF,KAAK;IAC5B,MAAMG,cAAc,GAAGF,QAAQ,CAACD,KAAK,KAAKE,QAAQ,CAACF,KAAK;IACxD,MAAMI,cAAc,GAClBH,QAAQ,CAACD,KAAK,KAAK,OAAO,IAAIE,QAAQ,CAACF,KAAK,KAAK,OAAO,GACpDC,QAAQ,CAACN,KAAK,EAAEU,IAAI,KAAKH,QAAQ,CAACP,KAAK,EAAEU,IAAI,IAC7CJ,QAAQ,CAACN,KAAK,EAAEW,OAAO,KAAKJ,QAAQ,CAACP,KAAK,EAAEW,OAAO,GACnD,KAAK;IAEX,KAAK,CAACN,KAAK,GAAGC,QAAQ;IAEtB,IAAI,CAACE,cAAc,IAAI,CAACC,cAAc,EAAE;MACtC;IACF;;IAEA;IACA,IAAI,CAAC9D,iBAAiB,CAAC2D,QAAQ,CAAC;IAChC,IAAI,CAACM,mBAAmB,CAAC,CAAC;IAC1B,IAAI,CAACzH,cAAc,CAAC0H,iBAAiB,CAAC,CAAC;IAEvC,IAAIP,QAAQ,CAACD,KAAK,KAAK,OAAO,IAAIC,QAAQ,CAACN,KAAK,EAAE;MAChD,IAAI,CAAC9D,eAAe,CAAC;QAAE8D,KAAK,EAAEM,QAAQ,CAACN;MAAM,CAAC,CAAC;IACjD;EACF;EAIA;AACF;AACA;AACA;AACA;AACA;EACUY,mBAAmBA,CAAA,EAAS;IAClC,MAAME,IAAI,GAAG,IAAAC,uCAAkB,EAAC,IAAI,CAACC,cAAc,EAAE,IAAI,CAACX,KAAK,CAACA,KAAK,CAAC;IACtE,IACE,IAAI,CAACY,gBAAgB,KAAK5C,SAAS,IACnC,IAAI,CAAC4C,gBAAgB,CAACC,OAAO,KAAKJ,IAAI,CAACI,OAAO,IAC9C,IAAI,CAACD,gBAAgB,CAACE,SAAS,KAAKL,IAAI,CAACK,SAAS,EAClD;MACA;IACF;IACA,IAAI,CAACF,gBAAgB,GAAGH,IAAI;IAC5B,IAAI,CAAC1E,sBAAsB,CAAC0E,IAAI,CAAC;EACnC;;EAEA;AACF;AACA;AACA;EACUX,iBAAiBA,CAACD,QAA4B,EAAQ;IAC5D,IAAI,CAACzC,mBAAmB,CAACyC,QAAQ,CAAC;IAClC,IAAI,CAAC/G,cAAc,CAACiI,WAAW,CAAClB,QAAQ,CAAC;EAC3C;EAEUmB,oBAAoBA,CAACC,QAAiB,EAAE;IAChD;IACA,IAAI,CAAC7H,aAAa,CAACuB,KAAK,CACtB,CAACsG,QAAQ,IAAI,CAAC,IAAI,IAAI,EACtB,MAAM;MACJ,MAAMjB,KAAK,GAAG,IAAI,CAACA,KAAK,CAACA,KAAK;MAC9B,OACEA,KAAK,KAAK,SAAS,IAAIA,KAAK,KAAK,SAAS,IAAIA,KAAK,KAAK,WAAW;IAEvE,CAAC,EACD,MAAM;MACJ,MAAMkB,QAAQ,GAAG,IAAI,CAACC,WAAW,CAAC,CAAC;MACnC,IAAI,CAACnF,yBAAyB,CAAC;QAC7B,GAAGkF,QAAQ;QACXE,KAAK,EAAE,IAAI,CAACC,KAAK,CAACC,YAAY,IAAI;MACpC,CAAC,CAAC;MACF,IAAI,CAACxI,cAAc,CAACyI,cAAc,CAAC,CAAC;IACtC,CACF,CAAC;EACH;EAEU3I,wBAAwBA,CAAA,EAAG;IACnC,IAAI,CAACQ,aAAa,CAACoI,IAAI,CAAC,CAAC;EAC3B;EAEA3I,0BAA0BA,CAAC4I,OAAgB,EAAQ;IACjD,IAAI,CAACnI,aAAa,CAACqB,KAAK,CACtB8G,OAAO,GAAG,IAAI,GAAG,CAAC,EAClB,MAAM,IAAI,CAACzB,KAAK,CAACA,KAAK,KAAK,SAAS,EACpC,MAAM,IAAI,CAAC/D,kBAAkB,CAAC,CAChC,CAAC;EACH;EAEUyF,YAAYA,CAAA,EAAG;IACvB,KAAK,CAACA,YAAY,CAAC,CAAC;IACpB,IAAI,CAACxF,oBAAoB,CAAC;MACxBkF,KAAK,EAAE,IAAI,CAACC,KAAK,CAACC,YAAY,IAAI,CAAC;MACnCK,QAAQ,EAAE,IAAI,CAACC,OAAO,EAAEC,WAAW,IAAI;IACzC,CAAC,CAAC;EACJ;;EAEA;EACAC,YAAYA,CAAChH,IAAY,EAAQ;IAC/B,KAAK,IAAI,CAACC,cAAc,CAAC+G,YAAY,CAAChH,IAAI,CAAC;EAC7C;EAEAiH,aAAaA,CAACX,KAAY,EAAQ;IAChC;IACA,KAAK,IAAI,CAACY,kBAAkB,CAACZ,KAAK,CAAC;EACrC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAca,UAAUA,CACtBb,KAAY,EACZC,KAAc,EACda,UAAkB,EAClBC,eAA2B,EACT;IAClB,MAAMC,OAAO,GAAG,IAAI,CAACjH,aAAa,CAACkH,eAAe;IAClD,IAAID,OAAO,EAAE;MACX,MAAME,KAAqB,GAAG;QAAElB,KAAK;QAAEC,KAAK;QAAEa;MAAW,CAAC;MAC1D,MAAME,OAAO,CAACE,KAAK,CAAC;MACpB,OAAO,IAAI;IACb;IACAH,eAAe,CAAC,CAAC;IACjB,OAAO,KAAK;EACd;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAcI,2BAA2BA,CACvCC,OAAe,EACfC,UAAkB,EACA;IAClB,IAAIA,UAAU,KAAK,IAAI,CAAC1H,cAAc,CAAC2H,eAAe,EAAE;MACtD,OAAO,KAAK;IACd;IAEA,MAAMrB,KAAK,GAAG,IAAI,CAACsB,QAAQ,CAAC,CAAC;IAC7B,MAAMC,KAAK,GAAGvB,KAAK,CAACwB,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKP,OAAO,CAAC;IAEvD,IAAII,KAAK,GAAG,CAAC,EAAE;MACb,OAAO,KAAK;IACd;IAEA,MAAM,IAAI,CAACX,UAAU,CAACZ,KAAK,CAACuB,KAAK,CAAC,EAAGvB,KAAK,EAAEuB,KAAK,EAAE,MAAM;MACvD,IAAI,CAACI,IAAI,CAACJ,KAAK,CAAC;MAChB,IAAI,CAACK,IAAI,CAAC,CAAC;IACb,CAAC,CAAC;IACF,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAcC,kBAAkBA,CAAC9B,KAAY,EAAoB;IAC/D,MAAM+B,MAAM,GAAG,MAAM,IAAI,CAACpI,cAAc,CAACqI,4BAA4B,CACnE,CAAChC,KAAK,CAAC,EACP,CAAC,EACD,CACF,CAAC;IAED,IAAI+B,MAAM,CAACE,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;MAC9B,OAAO,KAAK;IACd;IAEA,MAAM,IAAI,CAACrB,UAAU,CAACb,KAAK,EAAE+B,MAAM,CAACE,MAAM,EAAEF,MAAM,CAACjB,UAAU,EAAE,MAAM;MACnE;MACA;MACA;MACA;MACA,IAAI,CAACqB,QAAQ,CAACJ,MAAM,CAACE,MAAM,EAAEF,MAAM,CAACjB,UAAU,CAAC;MAC/C,IAAI,CAACe,IAAI,CAAC,CAAC;IACb,CAAC,CAAC;IACF,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;EACE,MAAcjB,kBAAkBA,CAACZ,KAAY,EAAiB;IAC5D,IAAI;MACF,MAAMoC,GAAG,GAAG,IAAAC,gDAAuB,EAACrC,KAAK,CAAC;MAC1C,QAAQoC,GAAG,CAACE,IAAI;QACd,KAAK,YAAY;UACf;UACA,IACEF,GAAG,CAAChB,OAAO,KACV,MAAM,IAAI,CAACD,2BAA2B,CACrCiB,GAAG,CAAChB,OAAO,EACXgB,GAAG,CAACf,UACN,CAAC,CAAC,EACF;YACA;UACF;UACA;UACA;UACA,IAAI,MAAM,IAAI,CAACS,kBAAkB,CAAC9B,KAAK,CAAC,EAAE;UAC1C,MAAM,IAAI,CAACuC,eAAe,CAACvC,KAAK,CAAC;UACjC;QAEF,KAAK,QAAQ;UACX,IAAI,CAACrG,cAAc,CAACgH,aAAa,CAACX,KAAK,CAAC,CAACwC,KAAK,CAAEjE,KAAc,IAAK;YACjEvF,OAAO,CAACuF,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;UACtD,CAAC,CAAC;UACF;QAEF,KAAK,UAAU;UACb,MAAM,IAAI,CAACgE,eAAe,CAACvC,KAAK,CAAC;UACjC;QAEF,KAAK,SAAS;UACZ,MAAM,IAAIyC,KAAK,CAAC,gDAAgD,CAAC;MACrE;IACF,CAAC,CAAC,OAAOlE,KAAK,EAAE;MACd,MAAMW,OAAO,GAAGX,KAAK,YAAYkE,KAAK,GAAGlE,KAAK,CAACW,OAAO,GAAG,eAAe;MACxE,IAAI,CAACvB,sBAAsB,CAAC+E,kBAAkB,CAAC,eAAe,EAAExD,OAAO,CAAC;IAC1E;EACF;;EAEA;EACA,MAAcqD,eAAeA,CAACvC,KAAY,EAAiB;IACzD,MAAM,IAAI,CAACa,UAAU,CAACb,KAAK,EAAE,CAACA,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM;MAC7C,IAAI,CAAC2C,IAAI,CAAC3C,KAAK,CAAC;MAChB,IAAI,CAAC6B,IAAI,CAAC,CAAC;IACb,CAAC,CAAC;EACJ;EAEA,MAAMe,MAAMA,CAACC,KAAa,EAAoB;IAC5C;IACA,OAAO,IAAI,CAAC1E,aAAa,CAACyE,MAAM,CAAC;MAAEC,KAAK;MAAEC,SAAS,EAAE;IAAU,CAAC,CAAC;EACnE;EAEAC,UAAUA,CAAA,EAA8B;IACtC,OAAO,IAAI,CAACpJ,cAAc,CAAC0E,OAAO;EACpC;EAEA2E,kBAAkBA,CAAA,EAAgC;IAChD,OAAO,IAAI,CAACrF,sBAAsB,CAACqF,kBAAkB,CAAC,CAAC;EACzD;EAEAC,2BAA2BA,CAAA,EAAyC;IAClE,OAAO,IAAI,CAACtF,sBAAsB,CAACsF,2BAA2B,CAAC,CAAC;EAClE;EAEAC,oBAAoBA,CAACxJ,IAAY,EAAQ;IACvC,IAAI,CAACC,cAAc,CAACuJ,oBAAoB,CAACxJ,IAAI,CAAC;EAChD;EAEAyJ,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAACxJ,cAAc,CAACwJ,oBAAoB,CAAC,CAAC;EAC5C;EAEAC,YAAYA,CAACC,SAAmB,EAAQ;IACtC,IAAI,CAAC5F,eAAe,CAAC2F,YAAY,CAACC,SAAS,CAAC;EAC9C;;EAEA;EACA,MAAMC,WAAWA,CAAC9E,OAAiC,EAAiB;IAClE,MAAM,KAAK,CAAC8E,WAAW,CAAC9E,OAAO,CAAC;IAChC;IACA;IACA,IAAIA,OAAO,CAACA,OAAO,EAAE,IAAI,CAAC+E,aAAa,CAAC/E,OAAO,CAACA,OAAO,CAAC;IACxD,IAAIA,OAAO,CAACgF,UAAU,KAAK5G,SAAS,EAAE,IAAI,CAAC6G,aAAa,CAACjF,OAAO,CAACgF,UAAU,CAAC;IAC5E,IAAIhF,OAAO,CAACkF,aAAa,KAAK9G,SAAS,EAAE;MACvC,IAAI,CAAC+G,gBAAgB,CAACnF,OAAO,CAACkF,aAAa,CAAC;IAC9C;EACF;EAEAH,aAAaA,CAAC/E,OAA4B,EAAQ;IAChD;IACA,IAAI,CAACX,cAAc,CAAC0F,aAAa,CAAC/E,OAAO,CAAC;;IAE1C;IACA,IAAIA,OAAO,CAACoF,2BAA2B,KAAKhH,SAAS,EAAE;MACrD,IAAI,CAACgD,oBAAoB,CACvBpB,OAAO,CAACoF,2BAA2B,KAAK,IAAI,GACxChH,SAAS,GACT4B,OAAO,CAACoF,2BACd,CAAC;IACH;EACF;EAEAC,UAAUA,CAAA,EAAY;IACpB,OAAO,IAAI,CAAChG,cAAc,CAACgG,UAAU,CAAC,CAAC;EACzC;;EAEA;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAcC,eAAeA,CAACnC,GAAW,EAAmB;IAC1D,MAAM;MAAEoC,OAAO;MAAEC;IAAM,CAAC,GAAG,IAAI,CAACrK,cAAc,CAACI,aAAa;IAC5D,OAAOkK,0CAAoB,CAACH,eAAe,CAACnC,GAAG,EAAEoC,OAAO,EAAEC,KAAK,CAAC;EAClE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACqBE,aAAaA,CAAA,EAAS;IACvC,MAAM1C,KAAK,GAAG,IAAI,CAACvB,KAAK,CAACC,YAAY;IACrC,MAAMiE,WAAW,GACf3C,KAAK,KAAK5E,SAAS,GAAG,IAAI,CAACqD,KAAK,CAACmE,QAAQ,CAAC5C,KAAK,CAAC,GAAG5E,SAAS;IAC9D,IAAIuH,WAAW,EAAE;MACf,IAAI,CAACxB,IAAI,CAACwB,WAAW,CAAC;IACxB,CAAC,MAAM;MACL,KAAK,CAACD,aAAa,CAAC,CAAC;IACvB;EACF;EAEAvB,IAAIA,CAAC3C,KAAY,EAAEqE,QAAiC,EAAQ;IAC1D,MAAM7D,OAAO,GAAG,IAAI,CAAC8D,cAAc,CAAC,CAAC;;IAErC;IACA,IAAI,CAACvG,iBAAiB,CAACwG,uBAAuB,CAAC,CAAC;;IAEhD;IACA;IACA,IAAI,IAAI,CAACtE,KAAK,CAACiC,MAAM,KAAK,CAAC,EAAE;MAC3B,IAAI,CAACjC,KAAK,CAACuE,SAAS,CAAC,CAACxE,KAAK,CAAC,CAAC;MAC7B,IAAI,CAACC,KAAK,CAACC,YAAY,GAAG,CAAC;MAC3B,IAAI,CAACuE,gBAAgB,CAAC,CAAC;IACzB,CAAC,MAAM,IACL,IAAI,CAACxE,KAAK,CAACC,YAAY,KAAKtD,SAAS,IACrC,IAAI,CAACqD,KAAK,CAACmE,QAAQ,CAAC,IAAI,CAACnE,KAAK,CAACC,YAAY,CAAC,KAAKF,KAAK,EACtD;MACA,IAAI,CAACC,KAAK,CAACyE,YAAY,CAAC,IAAI,CAACzE,KAAK,CAACC,YAAY,EAAEF,KAAK,CAAC;MACvD,IAAI,CAACyE,gBAAgB,CAAC,CAAC;IACzB;IAEA,MAAME,SAAS,GAAG,IAAI,CAACC,OAAO;IAC9B,MAAMC,YAAY,GAAGrE,OAAO,CAACC,WAAW;IACxC,MAAMqE,SAAS,GAAG,IAAI,CAAC7E,KAAK,CAAC6E,SAAS;IACtC,MAAM5E,YAAY,GAAG,IAAI,CAACD,KAAK,CAACC,YAAY;;IAE5C;IACA;IACA,IAAI,CAAC6E,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,YAAY,GAAGpI,SAAS;;IAE7B;IACA,MAAMqI,MAAM,GAAG,EAAE,IAAI,CAAClN,aAAa;IACnC,MAAMmN,MAAM,GAAG,MAAAA,CAAA,KAAY;MACzB,MAAMC,aAAoB,GAAGnF,KAAK,CAAC2B,GAAG,GAClC;QAAE,GAAG3B,KAAK;QAAE2B,GAAG,EAAE,MAAM,IAAI,CAACmC,eAAe,CAAC9D,KAAK,CAAC2B,GAAG;MAAE,CAAC,GACxD3B,KAAK;;MAET;MACA,IAAIiF,MAAM,KAAK,IAAI,CAAClN,aAAa,EAAE;QACjC;MACF;MAEA,KAAK,CAAC4K,IAAI,CAACwC,aAAa,EAAGC,WAAW,IAAK;QACzC,IAAI,CAAC5K,4BAA4B,CAAC;UAChCmK,SAAS;UACTE,YAAY;UACZC,SAAS;UACTtD,KAAK,EAAEtB,YAAY;UACnBF;QACF,CAAC,CAAC;;QAEF;QACA,MAAMqF,UAAU,GAAG,IAAI,CAACC,aAAa,CAAC,CAAC;QACvC,IAAID,UAAU,EAAE;UACd,IAAI,CAAC3G,iBAAiB,CAAC2G,UAAU,CAAC;QACpC;;QAEA;QACA,IAAIhB,QAAQ,EAAE;UACZA,QAAQ,CAACe,WAAW,CAAC;QACvB;MACF,CAAC,CAAC;IACJ,CAAC;;IAED;IACAF,MAAM,CAAC,CAAC,CAAC1C,KAAK,CAAEjE,KAAc,IAAK;MACjC;MACA,IAAI0G,MAAM,KAAK,IAAI,CAAClN,aAAa,EAAE;MACnC,IAAI,CAACgN,eAAe,GAAG,KAAK;MAC5B,IAAI,CAACC,YAAY,GAAGpI,SAAS;MAC7B5D,OAAO,CAACuF,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;MAC5C,MAAMW,OAAO,GACXX,KAAK,YAAYkE,KAAK,GAAGlE,KAAK,CAACW,OAAO,GAAG,sBAAsB;MACjE;MACA;MACA,MAAMqG,aAA4B,GAAG;QACnCjD,IAAI,EAAE,SAAS;QACfrD,IAAI,EAAE,YAAY;QAClBC;MACF,CAAC;MACD,IAAI,CAACN,KAAK,GAAG;QAAEA,KAAK,EAAE,OAAO;QAAEL,KAAK,EAAEgH;MAAc,CAAC;IACvD,CAAC,CAAC;EACJ;EAEAC,cAAcA,CAAA,EAAS;IACrB,KAAK,CAACA,cAAc,CAAC,CAAC;EACxB;;EAEA;AACF;AACA;AACA;EACUf,gBAAgBA,CAAA,EAAS;IAC/B,IAAI,CAAC1J,sBAAsB,CAAC,CAAC,GAAG,IAAI,CAACkF,KAAK,CAACgC,MAAM,CAAC,CAAC;EACrD;;EAEA;EACA;EACSwD,GAAGA,CAACxD,MAAe,EAAEyD,iBAA0B,EAAQ;IAC9D,KAAK,CAACD,GAAG,CAACxD,MAAM,EAAEyD,iBAAiB,CAAC;IACpC,IAAI,CAACjB,gBAAgB,CAAC,CAAC;EACzB;EAESkB,MAAMA,CAACC,OAAiB,EAAQ;IACvC,KAAK,CAACD,MAAM,CAACC,OAAO,CAAC;IACrB,IAAI,CAACnB,gBAAgB,CAAC,CAAC;EACzB;EAESoB,IAAIA,CAACC,SAAiB,EAAEC,OAAe,EAAQ;IACtD,KAAK,CAACF,IAAI,CAACC,SAAS,EAAEC,OAAO,CAAC;IAC9B,IAAI,CAACtB,gBAAgB,CAAC,CAAC;EACzB;EAESuB,oBAAoBA,CAAA,EAAS;IACpC,KAAK,CAACA,oBAAoB,CAAC,CAAC;IAC5B,IAAI,CAACvB,gBAAgB,CAAC,CAAC;EACzB;EAESwB,KAAKA,CAAA,EAAS;IACrB,KAAK,CAACA,KAAK,CAAC,CAAC;IACb,IAAI,CAACxB,gBAAgB,CAAC,CAAC;EACzB;;EAEA;EACA;EACA;EACA;EACA,IAAoBf,aAAaA,CAAA,EAAY;IAC3C,OAAO,KAAK,CAACA,aAAa;EAC5B;EAEA,IAAoBA,aAAaA,CAACwC,GAAY,EAAE;IAC9C,MAAMC,SAAS,GAAGD,GAAG,KAAK,KAAK,CAACxC,aAAa;IAC7C,KAAK,CAACA,aAAa,GAAGwC,GAAG;IACzB,IAAIC,SAAS,EAAE;MACb,IAAI,CAACzL,8BAA8B,CAAC;QAAEgJ,aAAa,EAAEwC;MAAI,CAAC,CAAC;MAC3D,IAAI,CAAC/G,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACzH,cAAc,CAAC0H,iBAAiB,CAAC,CAAC;IACzC;EACF;EAEAuE,gBAAgBA,CAACuC,GAAY,EAAQ;IACnC,IAAI,CAACA,GAAG,EAAE;MACR,IAAI,IAAI,CAAC1F,OAAO,EAAE;QAChB;QACA;QACA;QACA,IAAI,CAACrH,KAAK,CAAC,CAAC;MACd,CAAC,MAAM;QACL,IAAI,CAACiN,uBAAuB,CAAC,CAAC;QAC9B,IAAI,CAAC1C,aAAa,GAAG,KAAK;MAC5B;MACA;IACF;IACA;IACA;IACA;IACA;IACA,MAAM;MAAE9E;IAAM,CAAC,GAAG,IAAI,CAACA,KAAK;IAC5B,IACE,IAAI,CAACgG,OAAO,KAAKhI,SAAS,KACzBgC,KAAK,KAAK,OAAO,IAChBA,KAAK,KAAK,SAAS,IACnBA,KAAK,KAAK,OAAO,IACjBA,KAAK,KAAK,QAAQ,IAClBA,KAAK,KAAK,OAAO,CAAC,EACpB;MACA,IAAI,CAACiD,IAAI,CAAC,CAAC;MACX;IACF;IACA,IAAI,CAAC6B,aAAa,GAAG,IAAI;EAC3B;EAEA2C,gBAAgBA,CAAA,EAAY;IAC1B,OAAO,KAAK,CAAC3C,aAAa;EAC5B;EAEA4C,WAAWA,CAAA,EAAa;IACtB,OAAO,IAAI,CAAC1H,KAAK;EACnB;EAEA2H,eAAeA,CAAA,EAAiB;IAC9B,OAAO,IAAAjH,uCAAkB,EAAC,IAAI,CAACC,cAAc,EAAE,IAAI,CAACX,KAAK,CAACA,KAAK,CAAC;EAClE;EAEA4H,aAAaA,CAAA,EAAmB;IAC9B,OAAO,IAAI,CAAC3I,cAAc,CAAC2I,aAAa,CAAC,CAAC;EAC5C;EAEA/C,aAAaA,CAACgD,IAAoB,EAAQ;IACxC,MAAMN,SAAS,GAAG,IAAI,CAAClG,KAAK,CAACuD,UAAU,KAAKiD,IAAI;IAChD,KAAK,CAAChD,aAAa,CAACgD,IAAI,CAAC;IACzB,IAAI,CAAC5I,cAAc,CAAC4F,aAAa,CAACgD,IAAI,CAAC;IAEvC,IAAIN,SAAS,EAAE;MACb,IAAI,CAACnL,2BAA2B,CAAC;QAC/BwI,UAAU,EAAEiD;MACd,CAAC,CAAC;IACJ;EACF;EAEAC,iBAAiBA,CAAA,EAAY;IAC3B,OAAO,KAAK,CAACA,iBAAiB,CAAC,CAAC;EAClC;EAEAC,iBAAiBA,CAACtG,OAAgB,EAAQ;IACxC,KAAK,CAACsG,iBAAiB,CAACtG,OAAO,CAAC;IAChC,IAAI,CAACpF,4BAA4B,CAACoF,OAAO,CAAC;EAC5C;EAEAuG,gBAAgBA,CAAA,EAA8B;IAC5C,IAAI,IAAI,CAAChI,KAAK,CAACA,KAAK,KAAK,OAAO,EAAE;MAChC,OAAO,IAAI,CAACA,KAAK,CAACL,KAAK;IACzB;IACA,OAAO3B,SAAS;EAClB;EAEAiK,aAAaA,CAAA,EAAe;IAC1B,IAAI,IAAI,CAAClO,UAAU,CAACmO,IAAI,KAAK,IAAI,EAAE;MACjC,OAAO;QAAEA,IAAI,EAAE,IAAI,CAACnO,UAAU,CAACmO;MAAK,CAAC;IACvC,CAAC,MAAM,IAAI,IAAI,CAACnO,UAAU,CAACoO,oBAAoB,EAAE;MAC/C,OAAO;QAAEA,oBAAoB,EAAE;MAAK,CAAC;IACvC;IACA,OAAO,IAAI;EACb;EAEAC,aAAaA,CAACC,OAAe,EAAEC,YAAqB,EAAQ;IAC1D,IAAI,CAACvO,UAAU,CAACwO,UAAU,CAACF,OAAO,EAAEC,YAAY,CAAC;IACjD,IAAI,CAAC9N,mBAAmB,CAAC,IAAI,CAACyN,aAAa,CAAC,CAAC,CAAC;EAChD;;EAEA;AACF;AACA;AACA;AACA;AACA;EACUT,uBAAuBA,CAAA,EAAS;IACtC,IAAI,IAAI,CAAC9N,UAAU,CAAC8O,QAAQ,EAAE,IAAI,CAACC,eAAe,CAAC,CAAC;EACtD;EAESlO,KAAKA,CAAA,EAAS;IACrB,KAAK,CAACA,KAAK,CAAC,CAAC;IACb,IAAI,CAACiN,uBAAuB,CAAC,CAAC;EAChC;EAEShG,IAAIA,CAAA,EAAS;IACpB;IACA;IACA;IACA,IAAI,CAACrI,aAAa,EAAE;IACpB,KAAK,CAACqI,IAAI,CAAC,CAAC;IACZ,IAAI,CAACgG,uBAAuB,CAAC,CAAC;EAChC;EAEAkB,yBAAyBA,CAAA,EAAS;IAChC,IAAI,CAAC3O,UAAU,CAAC4O,eAAe,CAAC,CAAC;IACjC,IAAI,CAACnO,mBAAmB,CAAC,IAAI,CAACyN,aAAa,CAAC,CAAC,CAAC;EAChD;EAEAQ,eAAeA,CAAA,EAAY;IACzB,MAAMG,UAAU,GAAG,IAAI,CAAC7O,UAAU,CAAC8O,KAAK,CAAC,CAAC;IAC1C,IAAID,UAAU,EAAE;MACd,IAAI,CAACpO,mBAAmB,CAAC,IAAI,CAAC;IAChC;IACA,OAAOoO,UAAU;EACnB;;EAEA;AACF;AACA;EACYE,YAAYA,CAAA,EAAS;IAC7B;IACA,IAAI,IAAI,CAAC/O,UAAU,CAACoO,oBAAoB,EAAE;MACxC/N,OAAO,CAACC,GAAG,CAAC,sDAAsD,CAAC;MACnE,IAAI,CAACN,UAAU,CAAC8O,KAAK,CAAC,CAAC;MACvB,IAAI,CAACtO,KAAK,CAAC,CAAC;MACZ,IAAI,CAACC,mBAAmB,CAAC,IAAI,CAAC;MAC9B;IACF;;IAEA;IACA,KAAK,CAACsO,YAAY,CAAC,CAAC;EACtB;;EAEA;EACAvF,QAAQA,CAACF,MAAe,EAAEnB,UAAmB,EAAE6G,aAAsB,EAAQ;IAC3E,IAAI,CAACvH,IAAI,CAAC,CAAC;IACX;IACA,IAAI,CAACwE,OAAO,GAAGhI,SAAS;IACxB;IACA,MAAM;MAAEmH,OAAO;MAAE6D;IAAQ,CAAC,GAAG,IAAI,CAACjO,cAAc,CAACI,aAAa;IAC9D,IAAI,CAACkG,KAAK,CAACuE,SAAS,CAClBvC,MAAM,CAAC4F,GAAG,CAAE7H,KAAK,IAAK;MACpB,IAAI;QACF,MAAM8H,aAAa,GAAG,IAAI,CAACrK,eAAe,CAACsK,eAAe,CAAC/H,KAAK,CAAC;QACjE,OAAOiE,0CAAoB,CAAC+D,qBAAqB,CAC/CF,aAAa,EACb/D,OAAO,EACP6D,OACF,CAAC;MACH,CAAC,CAAC,OAAOrJ,KAAK,EAAE;QACdvF,OAAO,CAACuF,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;QAClD,OAAOyB,KAAK,EAAC;MACf;IACF,CAAC,CACH,CAAC;IACD,IAAI,CAACyE,gBAAgB,CAAC,CAAC;IAEvB,IAAI3D,UAAU,KAAKlE,SAAS,IAAI,IAAI,CAACqD,KAAK,CAACmE,QAAQ,CAACtD,UAAU,CAAC,EAAE;MAC/D,IAAI,CAACc,IAAI,CAACd,UAAU,EAAE6G,aAAa,CAAC;IACtC;EACF;EAEApG,QAAQA,CAAA,EAAY;IAClB;IACA,OAAO,CAAC,GAAG,IAAI,CAACtB,KAAK,CAACgC,MAAM,CAAC;EAC/B;EAEAgG,mBAAmBA,CAAA,EAAuB;IACxC,IAAI,CAAC3D,cAAc,CAAC,CAAC;IACrB,IAAI,CAAC4D,aAAa,CAAC,CAAC;IACpB,OAAO,IAAI,CAACjI,KAAK,CAACC,YAAY;EAChC;EAEAiI,cAAcA,CAAA,EAAsB;IAClC,OAAO,IAAI,CAACvD,OAAO;EACrB;EAEAwD,uBAAuBA,CAACC,SAAkB,EAAQ;IAChD,MAAMrI,KAAK,GAAG,IAAI,CAACmI,cAAc,CAAC,CAAC;IACnC,MAAM3G,KAAK,GAAG,IAAI,CAACyG,mBAAmB,CAAC,CAAC;IACxC,IAAI,CAACjI,KAAK,IAAI,CAACA,KAAK,CAAC2B,GAAG,IAAIH,KAAK,KAAK5E,SAAS,EAAE;;IAEjD;IACA,IAAIyL,SAAS,EAAE;MACb,IAAI,CAAC5K,eAAe,CAAC6K,WAAW,CAACtI,KAAK,CAAC2B,GAAG,CAAC;IAC7C,CAAC,MAAM;MACL,IAAI,CAAClE,eAAe,CAAC8K,cAAc,CAACvI,KAAK,CAAC2B,GAAG,CAAC;IAChD;;IAEA;IACA,MAAM6G,YAAmB,GAAG;MAC1B,GAAGxI,KAAK;MACRqI;IACF,CAAC;;IAED;IACA,IAAI,CAACpI,KAAK,CAACyE,YAAY,CAAClD,KAAK,EAAEgH,YAAY,CAAC;;IAE5C;IACA,IAAI,CAACzM,iBAAiB,CAAC;MAAEiE,KAAK,EAAEwI,YAAY;MAAEH;IAAU,CAAC,CAAC;;IAE1D;IACA,IAAI,CAAC7N,4BAA4B,CAAC;MAChCsK,SAAS,EAAEtD,KAAK;MAChBmD,SAAS,EAAE3E,KAAK;MAChB6E,YAAY,EAAE,IAAI,CAACrE,OAAO,EAAEC,WAAW,IAAI,CAAC;MAC5Ce,KAAK;MACLxB,KAAK,EAAEwI;IACT,CAAC,CAAC;;IAEF;IACA,IAAI,CAAC/D,gBAAgB,CAAC,CAAC;EACzB;EAEAgE,0BAA0BA,CAAA,EAAS;IACjC,MAAMzI,KAAK,GAAG,IAAI,CAACmI,cAAc,CAAC,CAAC;IACnC,IAAI,CAACnI,KAAK,IAAI,CAACA,KAAK,CAAC2B,GAAG,EAAE;IAE1B,MAAM+G,WAAW,GAAG,IAAI,CAACjL,eAAe,CAACiL,WAAW,CAAC1I,KAAK,CAAC2B,GAAG,CAAC;IAC/D,IAAI,CAACyG,uBAAuB,CAAC,CAACM,WAAW,CAAC;EAC5C;;EAEA;EACAC,gBAAgBA,CAACC,MAAoC,EAAQ;IAC3D,MAAM5I,KAAK,GAAG,IAAI,CAACmI,cAAc,CAAC,CAAC;IACnC,MAAMU,QAAQ,GAAG,IAAI,CAAC9I,WAAW,CAAC,CAAC,CAAC8I,QAAQ;IAC5C,IAAI,CAAC9K,iBAAiB,CAAC4K,gBAAgB,CAACC,MAAM,EAAE5I,KAAK,EAAE6I,QAAQ,CAAC;EAClE;EAEAvD,aAAaA,CAAA,EAAmC;IAC9C,MAAMtF,KAAK,GAAG,IAAI,CAACmI,cAAc,CAAC,CAAC;IACnC,MAAMU,QAAQ,GAAG,IAAI,CAAC9I,WAAW,CAAC,CAAC,CAAC8I,QAAQ;IAC5C,OAAO,IAAI,CAAC9K,iBAAiB,CAACuH,aAAa,CAACtF,KAAK,EAAE6I,QAAQ,CAAC;EAC9D;EAIAC,eAAeA,CAACF,MAAwB,EAAEG,UAAkB,EAAQ;IAClE;IACA;IACA,IAAI,CAACJ,gBAAgB,CAACC,MAAM,CAAC;IAC7B,IAAI,IAAI,CAACI,qBAAqB,EAAEC,YAAY,CAAC,IAAI,CAACD,qBAAqB,CAAC;IACxE,IAAI,CAACA,qBAAqB,GAAGE,UAAU,CAAC,MAAM;MAC5C,IAAI,CAACF,qBAAqB,GAAGpM,SAAS;MACtC,IAAI,CAAC+L,gBAAgB,CAAC/L,SAAS,CAAC;IAClC,CAAC,EAAEmM,UAAU,CAAC;EAChB;EAEAI,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAAC,IAAI,CAACH,qBAAqB,EAAE;IACjCC,YAAY,CAAC,IAAI,CAACD,qBAAqB,CAAC;IACxC,IAAI,CAACA,qBAAqB,GAAGpM,SAAS;IACtC,IAAI,CAAC+L,gBAAgB,CAAC/L,SAAS,CAAC;EAClC;;EAEA;EACAwM,SAASA,CAAA,EAAY;IACnB,OAAO,IAAI,CAACjR,OAAO;EACrB;;EAEA;EACAkR,oBAAoBA,CAAA,EAAkC;IACpD,OAAOzM,SAAS;EAClB;;EAEA;EACA0M,mBAAmBA,CAACC,QAAiB,EAAQ;IAC3C;EAAA;;EAGF;EACAC,kBAAkBA,CAACC,OAAe,EAAQ;IACxC;EAAA;;EAGF;EACAC,kBAAkBA,CAACC,OAAiB,EAAQ;IAC1C;EAAA;;EAGF;EACAC,wBAAwBA,CAAA,EAAY;IAClC,OAAO,KAAK;EACd;EAEAC,4BAA4BA,CAAA,EAA8B;IACxD,OAAO,cAAc;EACvB;EAEAC,qBAAqBA,CAAA,EAAS;IAC5B;EAAA;EAGFC,mBAAmBA,CAAA,EAAS;IAC1B;EAAA;;EAGF;EACAC,eAAeA,CAAA,EAAW;IACxB;IACA,OAAO,GAAG;EACZ;;EAEA;EACAC,eAAeA,CAACC,OAAe,EAAQ;IACrC;EAAA;;EAGF;EACA;EACAC,OAAOA,CAACC,KAA6B,EAAEC,YAAqB,EAAQ,CAAC;EAErEC,SAASA,CAAA,EAAS,CAAC;;EAEnB;EACAC,cAAcA,CAAA,EAAY;IACxB,OAAO,KAAK;EACd;;EAEA;EACAC,SAASA,CAAA,EAAuB;IAC9B,OAAO5N,SAAS;EAClB;EAEA6N,gBAAgBA,CAAA,EAAS;IACvB;EAAA;EAGFC,sBAAsBA,CAAA,EAAY;IAChC,OAAO,KAAK;EACd;AACF;AAACC,OAAA,CAAAxT,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_getTrackIdentity","require","_BrowserManager","_classifyTrackNavigation","_FavoriteManager","_NavigationErrorManager","_SearchManager","_HttpClient","_RequestConfigBuilder","_NowPlayingManager","_OptionsManager","_RemoteCommandController","_TrackPlayer","_PlaybackTimer","_PlayingStateFactory","_BrowserPathHelper","NativeAudioBrowser","QueuePlayer","name","equals","dispose","clearUpdateEventInterval","setPlaybackIntervalEnabled","remoteCommands","window","onlineHandler","removeEventListener","offlineHandler","currentLoadId","progressTimer","PlaybackTimer","intervalTimer","_online","navigator","onLine","sleepFader","VolumeFader","getVolume","volume","setVolume","sleepTimer","SleepTimerManager","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","HttpClient","favoriteManager","FavoriteManager","navigationErrorManager","NavigationErrorManager","optionsManager","OptionsManager","nowPlayingManager","NowPlayingManager","RemoteCommandController","BrowserManager","searchManager","SearchManager","content","data","error","options","metadata","publishNowPlaying","addEventListener","state","newState","oldState","didStateChange","didErrorChange","code","message","refreshPlayingState","syncPlaybackState","next","derivePlayingState","_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","BrowserPathHelper","extractIndex","getTrackIdentity","skip","play","expandQueueAndPlay","result","resolveMediaItemsForPlayback","tracks","length","setQueue","disabled","nav","classifyTrackNavigation","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","RequestConfigBuilder","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","exports"],"sourceRoot":"../../../src","sources":["web/NativeAudioBrowser.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,12 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BrowserManager = void 0;
|
|
7
|
+
var _getTrackIdentity = require("../../utils/getTrackIdentity");
|
|
7
8
|
var _validation = require("../../utils/validation");
|
|
8
9
|
var _RequestConfigBuilder = require("../http/RequestConfigBuilder");
|
|
9
10
|
var _SimpleRouter = require("../SimpleRouter");
|
|
10
11
|
var _BrowserPathHelper = require("../util/BrowserPathHelper");
|
|
11
12
|
var _assertBrowsePageShape = require("./assertBrowsePageShape");
|
|
12
13
|
var _parseSearchResponse = require("./parseSearchResponse");
|
|
14
|
+
var _sections = require("./sections");
|
|
13
15
|
/**
|
|
14
16
|
* Manages browser navigation, route resolution, and content loading.
|
|
15
17
|
* Coordinates between HTTP client, favorite manager, and error manager.
|
|
@@ -126,14 +128,11 @@ class BrowserManager {
|
|
|
126
128
|
// Determine initial path
|
|
127
129
|
let initialPath = value.path;
|
|
128
130
|
|
|
129
|
-
// If no path specified, try to get first tab
|
|
131
|
+
// If no path specified, try to get first tab path
|
|
130
132
|
if (!initialPath) {
|
|
131
133
|
const tabsRoute = value.routes?.find(r => r.path === '__tabs__');
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
} else {
|
|
135
|
-
initialPath = '/';
|
|
136
|
-
}
|
|
134
|
+
const staticTabs = tabsRoute?.browseStatic ? (0, _sections.flattenedChildren)(tabsRoute.browseStatic) : [];
|
|
135
|
+
initialPath = staticTabs[0]?.path ?? '/';
|
|
137
136
|
}
|
|
138
137
|
if (initialPath) {
|
|
139
138
|
void this.navigate(initialPath);
|
|
@@ -149,16 +148,16 @@ class BrowserManager {
|
|
|
149
148
|
}
|
|
150
149
|
|
|
151
150
|
/**
|
|
152
|
-
* Navigates to a track's
|
|
151
|
+
* Navigates to a track's path.
|
|
153
152
|
*/
|
|
154
153
|
async navigateTrack(track) {
|
|
155
154
|
this.navigationErrorManager.clearNavigationError();
|
|
156
|
-
const
|
|
157
|
-
if (!
|
|
158
|
-
console.warn('Track has no
|
|
155
|
+
const path = track.path;
|
|
156
|
+
if (!path) {
|
|
157
|
+
console.warn('Track has no path to navigate to');
|
|
159
158
|
return;
|
|
160
159
|
}
|
|
161
|
-
await this.navigate(
|
|
160
|
+
await this.navigate(path);
|
|
162
161
|
}
|
|
163
162
|
|
|
164
163
|
/**
|
|
@@ -211,28 +210,15 @@ class BrowserManager {
|
|
|
211
210
|
return;
|
|
212
211
|
}
|
|
213
212
|
|
|
214
|
-
//
|
|
215
|
-
// search
|
|
216
|
-
//
|
|
217
|
-
//
|
|
218
|
-
|
|
213
|
+
// Resolution returns canonical sectioned pages; add contextual paths
|
|
214
|
+
// to non-search content (matches Android behavior where search()
|
|
215
|
+
// bypasses the resolve() contextual-path logic). Copies avoid mutating
|
|
216
|
+
// the original config object (e.g., browseStatic from routes), which
|
|
217
|
+
// would break search that reads from the same source.
|
|
218
|
+
if (content?.sections && !isSearchPath) {
|
|
219
219
|
content = {
|
|
220
220
|
...content,
|
|
221
|
-
|
|
222
|
-
// If track has src, always add/update contextual URL with current path context
|
|
223
|
-
// This matches Android's BrowserManager.kt:436-441
|
|
224
|
-
if (track.src) {
|
|
225
|
-
const contextualUrl = `${path}?__trackId=${encodeURIComponent(track.src)}`;
|
|
226
|
-
return {
|
|
227
|
-
...track,
|
|
228
|
-
url: contextualUrl
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
// Return a shallow copy in attempt to avoid mutating original config objects
|
|
232
|
-
return {
|
|
233
|
-
...track
|
|
234
|
-
};
|
|
235
|
-
})
|
|
221
|
+
sections: this.addContextualPaths(path, content.sections)
|
|
236
222
|
};
|
|
237
223
|
}
|
|
238
224
|
|
|
@@ -277,13 +263,42 @@ class BrowserManager {
|
|
|
277
263
|
}
|
|
278
264
|
}
|
|
279
265
|
|
|
266
|
+
/**
|
|
267
|
+
* Stamps contextual paths onto a page's sections. A playable track gets a
|
|
268
|
+
* contextual path carrying its identity (id ?? src) so the queue can be
|
|
269
|
+
* re-expanded from it later, plus its flat page position (children
|
|
270
|
+
* concatenated in section order — ADR 0009/0010) as a duplicate-identity
|
|
271
|
+
* tie-breaker. Non-playable tracks are shallow-copied to avoid mutating
|
|
272
|
+
* original config objects (e.g., browseStatic from routes).
|
|
273
|
+
*/
|
|
274
|
+
addContextualPaths(path, sections) {
|
|
275
|
+
let index = 0;
|
|
276
|
+
return sections.map(section => ({
|
|
277
|
+
...section,
|
|
278
|
+
children: section.children.map(track => {
|
|
279
|
+
const flatIndex = index++;
|
|
280
|
+
const identity = (0, _getTrackIdentity.getTrackIdentity)(track);
|
|
281
|
+
if (track.src && identity) {
|
|
282
|
+
return {
|
|
283
|
+
...track,
|
|
284
|
+
path: _BrowserPathHelper.BrowserPathHelper.build(path, identity, flatIndex)
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
return {
|
|
288
|
+
...track
|
|
289
|
+
};
|
|
290
|
+
})
|
|
291
|
+
}));
|
|
292
|
+
}
|
|
293
|
+
|
|
280
294
|
/**
|
|
281
295
|
* Resolves search content from a search path.
|
|
282
|
-
* Returns a
|
|
296
|
+
* Returns a canonical sectioned page — one untitled section of raw search
|
|
297
|
+
* results (no contextual URLs), like the native `makeSearchResult`.
|
|
283
298
|
* Matches Android's BrowserManager.search() which bypasses resolve() entirely.
|
|
284
299
|
*
|
|
285
300
|
* @param searchPath The search path (format: /__search?q=query)
|
|
286
|
-
* @returns ResolvedTrack containing search results as
|
|
301
|
+
* @returns ResolvedTrack containing search results as one untitled section
|
|
287
302
|
*/
|
|
288
303
|
async resolveSearchContent(searchPath) {
|
|
289
304
|
// Extract query from search path
|
|
@@ -321,13 +336,12 @@ class BrowserManager {
|
|
|
321
336
|
}
|
|
322
337
|
}
|
|
323
338
|
|
|
324
|
-
//
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
url: searchPath,
|
|
339
|
+
// Search callbacks should return fresh tracks without contextual paths (like Android)
|
|
340
|
+
return (0, _sections.normalizePage)({
|
|
341
|
+
path: searchPath,
|
|
328
342
|
title: `Search: ${query}`,
|
|
329
343
|
children: searchResults
|
|
330
|
-
};
|
|
344
|
+
});
|
|
331
345
|
}
|
|
332
346
|
|
|
333
347
|
/**
|
|
@@ -348,30 +362,35 @@ class BrowserManager {
|
|
|
348
362
|
// Transform parent artwork
|
|
349
363
|
const parentArtworkSource = await _RequestConfigBuilder.RequestConfigBuilder.resolveArtworkSourceAsync(content, requestConfig, artworkConfig);
|
|
350
364
|
|
|
351
|
-
// Transform children artwork
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
365
|
+
// Transform children artwork, section by section
|
|
366
|
+
const transformTrack = async track => {
|
|
367
|
+
const artworkSource = await _RequestConfigBuilder.RequestConfigBuilder.resolveArtworkSourceAsync(track, requestConfig, artworkConfig);
|
|
368
|
+
if (artworkSource && !track.artworkSource) {
|
|
369
|
+
return {
|
|
370
|
+
...track,
|
|
371
|
+
artworkSource
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
return track;
|
|
375
|
+
};
|
|
376
|
+
let transformedSections;
|
|
377
|
+
if (content.sections) {
|
|
378
|
+
transformedSections = await Promise.all(content.sections.map(async section => ({
|
|
379
|
+
...section,
|
|
380
|
+
children: await Promise.all(section.children.map(transformTrack))
|
|
381
|
+
})));
|
|
364
382
|
}
|
|
365
383
|
return {
|
|
366
384
|
...content,
|
|
367
385
|
artworkSource: parentArtworkSource ?? content.artworkSource,
|
|
368
|
-
|
|
386
|
+
sections: transformedSections ?? content.sections
|
|
369
387
|
};
|
|
370
388
|
}
|
|
371
389
|
|
|
372
390
|
/**
|
|
373
391
|
* Resolves content from a route using browseCallback, browseStatic, or browseConfig.
|
|
374
|
-
* Single source of truth for route resolution logic.
|
|
392
|
+
* Single source of truth for route resolution logic. Returns canonical
|
|
393
|
+
* sectioned pages (normalizePage) — consumers never see authored `children`.
|
|
375
394
|
*
|
|
376
395
|
* @param route The route configuration to resolve
|
|
377
396
|
* @param path The path being navigated to
|
|
@@ -391,19 +410,20 @@ class BrowserManager {
|
|
|
391
410
|
this.navigationErrorManager.setNavigationError('callback-error', result.error, path);
|
|
392
411
|
return undefined;
|
|
393
412
|
}
|
|
394
|
-
return result;
|
|
413
|
+
return (0, _sections.normalizePage)(result);
|
|
395
414
|
}
|
|
396
415
|
|
|
397
|
-
// Handle static ResolvedTrack route
|
|
416
|
+
// Handle static ResolvedTrack route (normalizePage also copies, so the
|
|
417
|
+
// config object itself is never handed out)
|
|
398
418
|
if (route.browseStatic) {
|
|
399
|
-
return route.browseStatic;
|
|
419
|
+
return (0, _sections.normalizePage)(route.browseStatic);
|
|
400
420
|
}
|
|
401
421
|
|
|
402
422
|
// Handle request config-based route via the layered request → browse → route
|
|
403
423
|
// chain (matches native's resolveRouteEntry → resolveFromConfig).
|
|
404
424
|
if (route.browseConfig) {
|
|
405
425
|
try {
|
|
406
|
-
return await this.resolveFromConfig(this._configuration.browse, route.browseConfig, path, routeParams);
|
|
426
|
+
return (0, _sections.normalizePage)(await this.resolveFromConfig(this._configuration.browse, route.browseConfig, path, routeParams));
|
|
407
427
|
} catch (error) {
|
|
408
428
|
console.error(`Failed to resolve ${errorContext}:`, error);
|
|
409
429
|
this.handleNavigationError(error, path);
|
|
@@ -492,6 +512,8 @@ class BrowserManager {
|
|
|
492
512
|
|
|
493
513
|
/**
|
|
494
514
|
* Resolves content for a specific path using configured routes.
|
|
515
|
+
* Like the native resolve pipelines, the returned page is canonical
|
|
516
|
+
* sectioned shape — `children` sugar is normalized away at this seam.
|
|
495
517
|
*/
|
|
496
518
|
async resolveContent(path) {
|
|
497
519
|
const routes = this._configuration.routes;
|
|
@@ -533,9 +555,9 @@ class BrowserManager {
|
|
|
533
555
|
// there's no content.
|
|
534
556
|
if (this._configuration.request || this._configuration.requestResolver || this._configuration.browse || this._configuration.browseResolver) {
|
|
535
557
|
try {
|
|
536
|
-
return await this.resolveFromConfig(this._configuration.browse, undefined, path, {
|
|
558
|
+
return (0, _sections.normalizePage)(await this.resolveFromConfig(this._configuration.browse, undefined, path, {
|
|
537
559
|
path
|
|
538
|
-
});
|
|
560
|
+
}));
|
|
539
561
|
} catch (error) {
|
|
540
562
|
console.error('Failed to resolve default browse content:', error);
|
|
541
563
|
this.handleNavigationError(error, path);
|
|
@@ -554,7 +576,8 @@ class BrowserManager {
|
|
|
554
576
|
return [];
|
|
555
577
|
}
|
|
556
578
|
const result = await this.resolveRouteContent(tabsRoute, '/', {}, 'Tabs');
|
|
557
|
-
|
|
579
|
+
// Tabs are a flat list, not a page — a sectioned tabs source flattens.
|
|
580
|
+
const tabs = result ? (0, _sections.flattenSections)(result.sections) : [];
|
|
558
581
|
|
|
559
582
|
// Transform artwork URLs on tabs via the async resolver so the shared
|
|
560
583
|
// request layer (incl. its transform) applies, matching content/search.
|
|
@@ -585,35 +608,65 @@ class BrowserManager {
|
|
|
585
608
|
/**
|
|
586
609
|
* Expands a queue from a contextual URL.
|
|
587
610
|
* Resolves the parent container to get all siblings.
|
|
588
|
-
* Matches Android's BrowserManager.
|
|
611
|
+
* Matches Android's BrowserManager.expandQueueFromContextualPath() behavior.
|
|
589
612
|
*
|
|
590
|
-
* @param
|
|
613
|
+
* @param contextualPath The contextual path (format: /path?__trackId=trackSrc)
|
|
591
614
|
* @returns Object with tracks and selectedIndex, or undefined if expansion fails
|
|
592
615
|
*/
|
|
593
|
-
async
|
|
594
|
-
const trackId = _BrowserPathHelper.BrowserPathHelper.extractTrackId(
|
|
616
|
+
async expandQueueFromContextualPath(contextualPath) {
|
|
617
|
+
const trackId = _BrowserPathHelper.BrowserPathHelper.extractTrackId(contextualPath);
|
|
595
618
|
if (!trackId) return undefined;
|
|
596
619
|
try {
|
|
597
620
|
// Resolve the parent container to get all siblings
|
|
598
|
-
const parentPath = _BrowserPathHelper.BrowserPathHelper.stripTrackId(
|
|
621
|
+
const parentPath = _BrowserPathHelper.BrowserPathHelper.stripTrackId(contextualPath);
|
|
599
622
|
const parentResolvedTrack = await this.resolveContent(parentPath);
|
|
600
|
-
const
|
|
601
|
-
if (!
|
|
623
|
+
const rawSections = parentResolvedTrack?.sections;
|
|
624
|
+
if (!rawSections || rawSections.every(s => s.children.length === 0)) {
|
|
602
625
|
console.warn('Parent has no children, cannot expand queue');
|
|
603
626
|
return undefined;
|
|
604
627
|
}
|
|
605
628
|
|
|
606
|
-
//
|
|
607
|
-
|
|
629
|
+
// Stamp contextual paths so queued tracks carry their own queue context
|
|
630
|
+
// (navigate() stamps the displayed page the same way).
|
|
631
|
+
const sections = this.addContextualPaths(parentPath, rawSections);
|
|
632
|
+
|
|
633
|
+
// Queue scope is the tapped section, not the whole page (ADR 0006).
|
|
634
|
+
// The stamped flat index pins which section (and which copy) was
|
|
635
|
+
// tapped when the same identity appears more than once; a stale index
|
|
636
|
+
// falls back to the first identity match. An identity that no longer
|
|
637
|
+
// appears on the page aborts the expansion — the caller falls back to
|
|
638
|
+
// the single track.
|
|
639
|
+
const tappedIndex = _BrowserPathHelper.BrowserPathHelper.extractIndex(contextualPath);
|
|
640
|
+
const scoped = (0, _sections.sectionContaining)(sections, trackId, tappedIndex);
|
|
641
|
+
if (!scoped) {
|
|
642
|
+
console.warn(`Track with identity='${trackId}' not found on parent page`);
|
|
643
|
+
return undefined;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
// Filter to only playable tracks (tracks with src). A disabled track is
|
|
647
|
+
// unavailable — queue expansion excludes it, so auto-advance never
|
|
648
|
+
// meets one (Track.disabled).
|
|
649
|
+
const isQueueable = track => track.src != null && track.disabled !== true;
|
|
650
|
+
const playableTracks = scoped.tracks.filter(isQueueable);
|
|
608
651
|
if (playableTracks.length === 0) {
|
|
609
|
-
console.warn('
|
|
652
|
+
console.warn('Section has no playable tracks, cannot expand queue');
|
|
610
653
|
return undefined;
|
|
611
654
|
}
|
|
612
655
|
|
|
613
|
-
//
|
|
614
|
-
|
|
656
|
+
// Selected position: the pinned copy when the stamp survived, else
|
|
657
|
+
// the first identity match.
|
|
658
|
+
let selectedIndex = -1;
|
|
659
|
+
if (scoped.tappedOffset !== undefined) {
|
|
660
|
+
const tapped = scoped.tracks[scoped.tappedOffset];
|
|
661
|
+
if (tapped != null && isQueueable(tapped)) {
|
|
662
|
+
selectedIndex = scoped.tracks.slice(0, scoped.tappedOffset + 1).filter(isQueueable).length - 1;
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
if (selectedIndex < 0) {
|
|
666
|
+
selectedIndex = playableTracks.findIndex(track => (0, _getTrackIdentity.getTrackIdentity)(track) === trackId);
|
|
667
|
+
}
|
|
615
668
|
if (selectedIndex < 0) {
|
|
616
|
-
console.warn(`Track with
|
|
669
|
+
console.warn(`Track with identity='${trackId}' not found in playable children`);
|
|
617
670
|
return undefined;
|
|
618
671
|
}
|
|
619
672
|
|
|
@@ -629,7 +682,7 @@ class BrowserManager {
|
|
|
629
682
|
selectedIndex
|
|
630
683
|
};
|
|
631
684
|
} catch (error) {
|
|
632
|
-
console.error(`Error expanding queue from contextual
|
|
685
|
+
console.error(`Error expanding queue from contextual path: ${contextualPath}`, error);
|
|
633
686
|
return undefined;
|
|
634
687
|
}
|
|
635
688
|
}
|
|
@@ -646,19 +699,23 @@ class BrowserManager {
|
|
|
646
699
|
* @returns Object with expanded tracks and starting index
|
|
647
700
|
*/
|
|
648
701
|
async resolveMediaItemsForPlayback(tracks, startIndex, startPositionMs, searchQuery) {
|
|
649
|
-
// Single track: check for search context or contextual
|
|
702
|
+
// Single track: check for search context or contextual path
|
|
650
703
|
if (tracks.length === 1) {
|
|
651
704
|
const track = (0, _validation.assertedNotNullish)(tracks[0]);
|
|
652
|
-
const
|
|
705
|
+
const trackPath = track.path;
|
|
653
706
|
|
|
654
707
|
// If search query present, expand search results
|
|
655
708
|
if (searchQuery) {
|
|
656
|
-
// Execute search (will hit cache if already performed)
|
|
709
|
+
// Execute search (will hit cache if already performed). Disabled
|
|
710
|
+
// tracks never play, so they never enter a search-built queue
|
|
711
|
+
// (Track.disabled — mirrors both native platforms).
|
|
657
712
|
const searchResults = await this.resolveSearchContent(_BrowserPathHelper.BrowserPathHelper.createSearchPath(searchQuery));
|
|
658
|
-
const searchTracks = searchResults?.
|
|
659
|
-
if (searchTracks
|
|
660
|
-
// Find the selected track in search results
|
|
661
|
-
|
|
713
|
+
const searchTracks = (0, _sections.flattenSections)(searchResults?.sections).filter(t => t.disabled !== true);
|
|
714
|
+
if (searchTracks.length > 0) {
|
|
715
|
+
// Find the selected track in search results by path or identity
|
|
716
|
+
// (matches Android's three-way mediaId match)
|
|
717
|
+
const identity = (0, _getTrackIdentity.getTrackIdentity)(track);
|
|
718
|
+
const selectedIdx = searchTracks.findIndex(t => t.path === trackPath || identity !== undefined && (0, _getTrackIdentity.getTrackIdentity)(t) === identity);
|
|
662
719
|
if (selectedIdx >= 0) {
|
|
663
720
|
return {
|
|
664
721
|
tracks: searchTracks,
|
|
@@ -669,14 +726,14 @@ class BrowserManager {
|
|
|
669
726
|
}
|
|
670
727
|
}
|
|
671
728
|
|
|
672
|
-
// Check if contextual
|
|
729
|
+
// Check if contextual path - expand from parent
|
|
673
730
|
// Note: The queueSourcePath optimization is handled by the caller (NativeAudioBrowser.navigateTrackAsync)
|
|
674
731
|
// which has access to the existing queue and can skip to the track directly.
|
|
675
732
|
// This matches Android where MediaSessionCallback handles the optimization before calling
|
|
676
733
|
// BrowserManager.resolveMediaItemsForPlayback.
|
|
677
|
-
if (
|
|
678
|
-
const parentPath = _BrowserPathHelper.BrowserPathHelper.stripTrackId(
|
|
679
|
-
const expanded = await this.
|
|
734
|
+
if (trackPath && _BrowserPathHelper.BrowserPathHelper.isContextual(trackPath)) {
|
|
735
|
+
const parentPath = _BrowserPathHelper.BrowserPathHelper.stripTrackId(trackPath);
|
|
736
|
+
const expanded = await this.expandQueueFromContextualPath(trackPath);
|
|
680
737
|
if (expanded) {
|
|
681
738
|
// Store source path for optimization by caller on next invocation
|
|
682
739
|
this._queueSourcePath = parentPath;
|
|
@@ -698,13 +755,13 @@ class BrowserManager {
|
|
|
698
755
|
}
|
|
699
756
|
|
|
700
757
|
/**
|
|
701
|
-
* Gets the default navigation path (first tab
|
|
758
|
+
* Gets the default navigation path (first tab path or '/').
|
|
702
759
|
*/
|
|
703
760
|
getDefaultPath() {
|
|
704
761
|
// Try to get first tab as default path
|
|
705
762
|
if (this._tabs && this._tabs.length > 0) {
|
|
706
763
|
const firstTab = this._tabs[0];
|
|
707
|
-
return firstTab?.
|
|
764
|
+
return firstTab?.path ?? '/';
|
|
708
765
|
}
|
|
709
766
|
return '/';
|
|
710
767
|
}
|