react-native-audio-browser 0.1.0 → 0.2.0-next.1
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/AudioBrowser.podspec +1 -1
- package/README.md +180 -2
- package/android/build.gradle +10 -0
- package/android/gradle.properties +1 -1
- package/android/src/main/AndroidManifest.xml +15 -0
- package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +401 -141
- package/android/src/main/java/com/audiobrowser/Callbacks.kt +4 -6
- package/android/src/main/java/com/audiobrowser/Service.kt +67 -18
- package/android/src/main/java/com/audiobrowser/browser/ArtworkResolutionRegistry.kt +37 -0
- package/android/src/main/java/com/audiobrowser/browser/BrowseArtworkRegistry.kt +34 -0
- package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +443 -178
- package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +300 -0
- package/android/src/main/java/com/audiobrowser/browser/JsonArtwork.kt +79 -0
- package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +41 -4
- package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +43 -0
- package/android/src/main/java/com/audiobrowser/browser/TrackLoadHandler.kt +4 -4
- package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +35 -0
- package/android/src/main/java/com/audiobrowser/http/RequestConfigBuilder.kt +109 -97
- package/android/src/main/java/com/audiobrowser/model/PlaybackMetadata.kt +6 -10
- package/android/src/main/java/com/audiobrowser/model/PlayerSetupOptions.kt +40 -8
- package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +31 -37
- package/android/src/main/java/com/audiobrowser/player/AutomaticBufferManager.kt +4 -1
- package/android/src/main/java/com/audiobrowser/player/CapabilityControls.kt +119 -0
- package/android/src/main/java/com/audiobrowser/player/DynamicLoadControl.kt +18 -1
- package/android/src/main/java/com/audiobrowser/player/EqualizerController.kt +153 -0
- package/android/src/main/java/com/audiobrowser/player/InterceptingPlayer.kt +141 -0
- package/android/src/main/java/com/audiobrowser/player/MediaFactory.kt +15 -3
- package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +415 -131
- package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +154 -276
- package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +348 -0
- package/android/src/main/java/com/audiobrowser/player/PlaybackErrorClassifier.kt +129 -0
- package/android/src/main/java/com/audiobrowser/player/PlaybackStateMachine.kt +85 -0
- package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +27 -5
- package/android/src/main/java/com/audiobrowser/player/PlaybackTimer.kt +56 -0
- package/android/src/main/java/com/audiobrowser/player/Player.kt +452 -576
- package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +20 -0
- package/android/src/main/java/com/audiobrowser/player/PlayerEngineFactory.kt +130 -0
- package/android/src/main/java/com/audiobrowser/player/PlayerListener.kt +190 -67
- package/android/src/main/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicy.kt +117 -53
- package/android/src/main/java/com/audiobrowser/player/SleepTimer.kt +37 -3
- package/android/src/main/java/com/audiobrowser/player/SleepTimerManager.kt +80 -0
- package/android/src/main/java/com/audiobrowser/player/StuckRecoveryPolicy.kt +50 -0
- package/android/src/main/java/com/audiobrowser/player/TransformingDataSource.kt +84 -34
- package/android/src/main/java/com/audiobrowser/player/VolumeFader.kt +81 -0
- package/android/src/main/java/com/audiobrowser/tls/AiaCertChaser.kt +141 -0
- package/android/src/main/java/com/audiobrowser/tls/AiaChasingTrustManager.kt +37 -0
- package/android/src/main/java/com/audiobrowser/tls/AiaTls.kt +41 -0
- package/android/src/main/java/com/audiobrowser/tls/CachingCertificateFetcher.kt +209 -0
- package/android/src/main/java/com/audiobrowser/util/ArtworkContentProvider.kt +161 -0
- package/android/src/main/java/com/audiobrowser/util/ArtworkUris.kt +28 -0
- package/android/src/main/java/com/audiobrowser/util/ArtworkVariant.kt +26 -0
- package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +24 -0
- package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoader.kt +49 -0
- package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoaderHolder.kt +36 -0
- package/android/src/main/java/com/audiobrowser/util/CoilBitmapLoader.kt +23 -300
- package/android/src/main/java/com/audiobrowser/util/EqualizerManager.kt +13 -23
- package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +2 -2
- package/android/src/main/java/com/audiobrowser/util/MetadataAdapter.kt +4 -3
- package/android/src/main/java/com/audiobrowser/util/OutputMonitor.kt +211 -0
- package/android/src/main/java/com/audiobrowser/util/OutputSwitcher.kt +58 -0
- package/android/src/main/java/com/audiobrowser/util/PlayingStateFactory.kt +2 -1
- package/android/src/main/java/com/audiobrowser/util/RatingFavorites.kt +14 -0
- package/android/src/main/java/com/audiobrowser/util/SvgArtworkRenderer.kt +6 -111
- package/android/src/main/java/com/audiobrowser/util/SystemVolumeMonitor.kt +22 -8
- package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +111 -80
- package/android/src/main/res/values/strings.xml +4 -0
- package/android/src/test/java/com/audiobrowser/TestFixtures.kt +166 -0
- package/android/src/test/java/com/audiobrowser/browser/ArtworkResolutionRegistryTest.kt +46 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowseArtworkRegistryTest.kt +39 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerBuildApiRequestTest.kt +114 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerLayerResolutionTest.kt +141 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +4 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +177 -0
- package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +54 -0
- package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +96 -0
- package/android/src/test/java/com/audiobrowser/browser/SimpleRouterTest.kt +1 -2
- package/android/src/test/java/com/audiobrowser/http/RequestConfigBuilderTest.kt +72 -0
- package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +159 -0
- package/android/src/test/java/com/audiobrowser/player/DynamicLoadControlTest.kt +56 -0
- package/android/src/test/java/com/audiobrowser/player/EqualizerControllerTest.kt +216 -0
- package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +442 -0
- package/android/src/test/java/com/audiobrowser/player/PlaybackErrorClassifierTest.kt +191 -0
- package/android/src/test/java/com/audiobrowser/player/PlaybackStateMachineTest.kt +198 -0
- package/android/src/test/java/com/audiobrowser/player/PlaybackTimerTest.kt +137 -0
- package/android/src/test/java/com/audiobrowser/player/PlayerEngineFactoryTest.kt +36 -0
- package/android/src/test/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicyTest.kt +268 -0
- package/android/src/test/java/com/audiobrowser/player/SessionErrorMaskTest.kt +68 -0
- package/android/src/test/java/com/audiobrowser/player/StuckRecoveryPolicyTest.kt +40 -0
- package/android/src/test/java/com/audiobrowser/player/TransformingDataSourceTest.kt +193 -0
- package/android/src/test/java/com/audiobrowser/tls/AiaCertChaserTest.kt +107 -0
- package/android/src/test/java/com/audiobrowser/tls/AiaChasingTrustManagerTest.kt +73 -0
- package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherTest.kt +75 -0
- package/android/src/test/java/com/audiobrowser/tls/CertFixtures.kt +18 -0
- package/android/src/test/java/com/audiobrowser/util/ArtworkContentProviderTest.kt +163 -0
- package/android/src/test/java/com/audiobrowser/util/ArtworkUrisTest.kt +34 -0
- package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +28 -0
- package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderHolderTest.kt +53 -0
- package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderTest.kt +58 -0
- package/android/src/test/java/com/audiobrowser/util/FakeImageLoader.kt +57 -0
- package/android/src/test/java/com/audiobrowser/util/PlayingStateFactoryTest.kt +40 -0
- package/android/src/test/java/com/audiobrowser/util/RatingFavoritesTest.kt +34 -0
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryBrowseTest.kt +50 -0
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +63 -0
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryRatingTest.kt +35 -0
- package/android/src/test/resources/certs/isrg-root-x1.pem +31 -0
- package/android/src/test/resources/certs/letsencrypt-r13.der +0 -0
- package/android/src/test/resources/certs/letsencrypt-r13.pem +29 -0
- package/android/src/test/resources/certs/stationplaylist-leaf.pem +34 -0
- package/ios/Browser/BrowserConfig.swift +41 -11
- package/ios/Browser/BrowserManager+URLResolution.swift +213 -93
- package/ios/Browser/BrowserManager.swift +303 -110
- package/ios/Browser/BrowserPathHelper.swift +32 -3
- package/ios/Browser/JsonModels.swift +287 -66
- package/ios/Browser/MediaResolveComposer.swift +114 -0
- package/ios/Browser/SearchDrillIn.swift +44 -0
- package/ios/Browser/SectionScope.swift +35 -0
- package/ios/Browser/TabBarEntries.swift +15 -0
- package/ios/CarPlay/CPInterfaceController+Safe.swift +126 -0
- package/ios/CarPlay/CarPlayArtworkResolver.swift +6 -6
- package/ios/CarPlay/CarPlayController.swift +739 -149
- package/ios/CarPlay/CarPlayImageLoader.swift +57 -8
- package/ios/CarPlay/CarPlayListItemFactory.swift +44 -35
- package/ios/CarPlay/CarPlayNowPlayingManager.swift +180 -36
- package/ios/CarPlay/ImageRowItem+CarPlay.swift +19 -0
- package/ios/CarPlay/RNABAudioBrowser.h +15 -10
- package/ios/CarPlay/RNABAudioBrowser.m +15 -14
- package/ios/CarPlay/RNABCarPlaySceneDelegate.m +2 -0
- package/ios/CarPlay/RNABMediaAddHandler.swift +75 -0
- package/ios/CarPlay/RNABMediaAffinityHandler.swift +69 -0
- package/ios/CarPlay/RNABMediaIntentHandler.swift +53 -43
- package/ios/Extension/Capability+RemoteCommand.swift +7 -9
- package/ios/Extension/ChapterMetadata+AVFoundation.swift +1 -1
- package/ios/Extension/NavigationError+Conversion.swift +8 -1
- package/ios/Extension/PlayerCapabilities+Favorite.swift +20 -0
- package/ios/Extension/RequestConfig+Copying.swift +31 -0
- package/ios/Extension/ResolvedTrack+Copying.swift +10 -4
- package/ios/Extension/TimedMetadata+AVFoundation.swift +1 -1
- package/ios/Extension/Track+AVPlayer.swift +4 -4
- package/ios/Extension/Track+Copying.swift +9 -3
- package/ios/Extension/TrackMetadata+AVFoundation.swift +1 -1
- package/ios/Extension/Variant+Artwork.swift +49 -0
- package/ios/HybridAudioBrowser.swift +750 -173
- package/ios/Model/NitroTypeStubs.swift +299 -224
- package/ios/Model/PlayerUpdateOptions.swift +23 -23
- package/ios/Model/RemoteCommand.swift +6 -6
- package/ios/Model/TrackPlayerError.swift +82 -18
- package/ios/NowPlayingInfo/NowPlayingInfoController.swift +99 -121
- package/ios/NowPlayingInfo/SilentAudioPrimer.swift +73 -0
- package/ios/Observer/PlayerItemNotificationObserver.swift +45 -5
- package/ios/Observer/PlayerItemPropertyObserver.swift +27 -4
- package/ios/Observer/PlayerTimeObserver.swift +3 -53
- package/ios/Option/SessionCategories.swift +33 -11
- package/ios/Player/AirPlayStallJudgement.swift +25 -0
- package/ios/Player/EndOfTrackJudgement.swift +32 -0
- package/ios/Player/LoadSeekCoordinator.swift +16 -1
- package/ios/Player/MediaIntentCriteria.swift +139 -0
- package/ios/Player/MediaLoader.swift +28 -10
- package/ios/Player/NowPlayingUpdater.swift +119 -26
- package/ios/Player/PersistedPlaybackState.swift +11 -0
- package/ios/Player/PlaybackCoordinator.swift +282 -51
- package/ios/Player/PlaybackCoordinatorCallbacks.swift +6 -1
- package/ios/Player/PlaybackEffectHandler.swift +19 -9
- package/ios/Player/PlaybackErrorHandler.swift +97 -13
- package/ios/Player/PlaybackStateMachine.swift +18 -13
- package/ios/Player/PlaybackStateStore.swift +27 -0
- package/ios/Player/PlaybackTimer.swift +61 -0
- package/ios/Player/PlayingStateManager.swift +3 -2
- package/ios/Player/QueueManager.swift +67 -61
- package/ios/Player/RetryManager.swift +97 -21
- package/ios/Player/SleepTimerHandling.swift +8 -0
- package/ios/Player/SleepTimerManager.swift +38 -5
- package/ios/Player/VolumeFader.swift +77 -0
- package/ios/RemoteCommand/RemoteCommandController.swift +31 -15
- package/ios/Tests/AirPlayStallJudgementTests.swift +52 -0
- package/ios/Tests/BrowserPathHelperTests.swift +28 -0
- package/ios/Tests/CarPlayArtworkResolverTests.swift +39 -39
- package/ios/Tests/ChapterMetadataAVFoundationTests.swift +2 -2
- package/ios/Tests/EndOfTrackJudgementTests.swift +35 -0
- package/ios/Tests/JsonModelsTests.swift +58 -0
- package/ios/Tests/LoadSeekCoordinatorTests.swift +38 -7
- package/ios/Tests/MediaIntentCriteriaTests.swift +170 -0
- package/ios/Tests/MediaLoaderAssetOptionsTests.swift +46 -0
- package/ios/Tests/MediaLoaderTests.swift +23 -8
- package/ios/Tests/MediaResolveTests.swift +126 -0
- package/ios/Tests/OnceValueTests.swift +79 -0
- package/ios/Tests/PlaybackCoordinatorTests.swift +784 -13
- package/ios/Tests/PlaybackErrorHandlerTests.swift +380 -46
- package/ios/Tests/PlaybackStateMachineTests.swift +42 -10
- package/ios/Tests/PlaybackStateStoreTests.swift +48 -0
- package/ios/Tests/PlaybackTimerTests.swift +55 -0
- package/ios/Tests/PlayingStateManagerTests.swift +57 -0
- package/ios/Tests/QueueManagerTests.swift +149 -18
- package/ios/Tests/ResolvedTrackCopyingTests.swift +15 -8
- package/ios/Tests/RetryManagerTests.swift +89 -0
- package/ios/Tests/SearchDrillInTests.swift +63 -0
- package/ios/Tests/SectionScopeTests.swift +82 -0
- package/ios/Tests/SleepTimerManagerTests.swift +104 -0
- package/ios/Tests/Support/TestTypes.swift +61 -20
- package/ios/Tests/TabBarEntriesTests.swift +71 -0
- package/ios/Tests/TrackSelectorTests.swift +15 -15
- package/ios/TrackPlayer.swift +380 -58
- package/ios/TrackPlayerCallbacks.swift +0 -6
- package/ios/TrackSelector.swift +5 -5
- package/ios/Util/ArtworkImageFetcher.swift +4 -2
- package/ios/Util/NetworkMonitor.swift +7 -3
- package/ios/Util/OnceValue.swift +34 -0
- package/lib/commonjs/features/browser-config.js +227 -0
- package/lib/commonjs/features/browser-config.js.map +1 -0
- package/lib/commonjs/features/browser.js +59 -158
- package/lib/commonjs/features/browser.js.map +1 -1
- package/lib/commonjs/features/carConnection.js +42 -0
- package/lib/commonjs/features/carConnection.js.map +1 -0
- package/lib/commonjs/features/errors.js +34 -2
- package/lib/commonjs/features/errors.js.map +1 -1
- package/lib/commonjs/features/gate.js +149 -0
- package/lib/commonjs/features/gate.js.map +1 -0
- package/lib/commonjs/features/index.js +22 -0
- package/lib/commonjs/features/index.js.map +1 -1
- package/lib/commonjs/features/metadata.js.map +1 -1
- package/lib/commonjs/features/nowPlaying.js +35 -0
- package/lib/commonjs/features/nowPlaying.js.map +1 -1
- package/lib/commonjs/features/output.js +37 -23
- package/lib/commonjs/features/output.js.map +1 -1
- package/lib/commonjs/features/playback/controls.js +9 -0
- package/lib/commonjs/features/playback/controls.js.map +1 -1
- package/lib/commonjs/features/playback/index.js +11 -0
- package/lib/commonjs/features/playback/index.js.map +1 -1
- package/lib/commonjs/features/playback/progress.js +28 -12
- package/lib/commonjs/features/playback/progress.js.map +1 -1
- package/lib/commonjs/features/playback/trackPlaybackTime.js +92 -0
- package/lib/commonjs/features/playback/trackPlaybackTime.js.map +1 -0
- package/lib/commonjs/features/playback/volume.js +1 -1
- package/lib/commonjs/features/player/options.js +49 -13
- package/lib/commonjs/features/player/options.js.map +1 -1
- package/lib/commonjs/features/player/setup.js +249 -3
- package/lib/commonjs/features/player/setup.js.map +1 -1
- package/lib/commonjs/features/queue/queue.js +10 -3
- package/lib/commonjs/features/queue/queue.js.map +1 -1
- package/lib/commonjs/features/remoteControls.js +1 -12
- package/lib/commonjs/features/remoteControls.js.map +1 -1
- package/lib/commonjs/features/sleepTimer.js +9 -4
- package/lib/commonjs/features/sleepTimer.js.map +1 -1
- package/lib/commonjs/native.js +5 -0
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/native.web.js +4 -1
- package/lib/commonjs/native.web.js.map +1 -1
- package/lib/commonjs/utils/LazyNativeEmitter.js +0 -3
- package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/commonjs/utils/NativeUpdatedValue.js +0 -3
- package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/commonjs/utils/artwork.js +31 -0
- package/lib/commonjs/utils/artwork.js.map +1 -0
- package/lib/commonjs/web/NativeAudioBrowser.js +301 -124
- package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js +71 -0
- package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js +34 -0
- package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/Player.js +90 -26
- package/lib/commonjs/web/TrackPlayer/Player.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js +21 -0
- package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/QueueManager.js +273 -0
- package/lib/commonjs/web/TrackPlayer/QueueManager.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/QueuePlayer.js +158 -0
- package/lib/commonjs/web/TrackPlayer/QueuePlayer.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/RepeatMode.js +1 -1
- package/lib/commonjs/web/TrackPlayer/RepeatMode.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/SleepTimer.js +34 -3
- package/lib/commonjs/web/TrackPlayer/SleepTimer.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/VolumeFader.js +75 -0
- package/lib/commonjs/web/TrackPlayer/VolumeFader.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/index.js +13 -5
- package/lib/commonjs/web/TrackPlayer/index.js.map +1 -1
- package/lib/commonjs/web/browser/BrowserManager.js +176 -50
- package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
- package/lib/commonjs/web/browser/NavigationErrorManager.js +3 -1
- package/lib/commonjs/web/browser/NavigationErrorManager.js.map +1 -1
- package/lib/commonjs/web/browser/SearchManager.js +11 -9
- package/lib/commonjs/web/browser/SearchManager.js.map +1 -1
- package/lib/commonjs/web/browser/assertBrowsePageShape.js +22 -0
- package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +1 -0
- package/lib/commonjs/web/browser/classifyTrackNavigation.js +41 -0
- package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +1 -0
- package/lib/commonjs/web/browser/parseSearchResponse.js +20 -0
- package/lib/commonjs/web/browser/parseSearchResponse.js.map +1 -0
- package/lib/commonjs/web/http/HttpClient.js +4 -23
- package/lib/commonjs/web/http/HttpClient.js.map +1 -1
- package/lib/commonjs/web/http/RequestConfigBuilder.js +107 -58
- package/lib/commonjs/web/http/RequestConfigBuilder.js.map +1 -1
- package/lib/commonjs/web/playbackErrorKind.js +57 -0
- package/lib/commonjs/web/playbackErrorKind.js.map +1 -0
- package/lib/commonjs/web/player/MediaSessionManager.js +121 -0
- package/lib/commonjs/web/player/MediaSessionManager.js.map +1 -0
- package/lib/commonjs/web/player/NowPlayingManager.js +6 -5
- package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
- package/lib/commonjs/web/player/OptionsManager.js +9 -17
- package/lib/commonjs/web/player/OptionsManager.js.map +1 -1
- package/lib/commonjs/web/player/RemoteCommandController.js +96 -0
- package/lib/commonjs/web/player/RemoteCommandController.js.map +1 -0
- package/lib/module/features/browser-config.js +221 -0
- package/lib/module/features/browser-config.js.map +1 -0
- package/lib/module/features/browser.js +53 -156
- package/lib/module/features/browser.js.map +1 -1
- package/lib/module/features/carConnection.js +37 -0
- package/lib/module/features/carConnection.js.map +1 -0
- package/lib/module/features/errors.js +34 -2
- package/lib/module/features/errors.js.map +1 -1
- package/lib/module/features/gate.js +144 -0
- package/lib/module/features/gate.js.map +1 -0
- package/lib/module/features/index.js +2 -0
- package/lib/module/features/index.js.map +1 -1
- package/lib/module/features/metadata.js.map +1 -1
- package/lib/module/features/nowPlaying.js +33 -0
- package/lib/module/features/nowPlaying.js.map +1 -1
- package/lib/module/features/output.js +32 -19
- package/lib/module/features/output.js.map +1 -1
- package/lib/module/features/playback/controls.js +8 -0
- package/lib/module/features/playback/controls.js.map +1 -1
- package/lib/module/features/playback/index.js +1 -0
- package/lib/module/features/playback/index.js.map +1 -1
- package/lib/module/features/playback/progress.js +28 -12
- package/lib/module/features/playback/progress.js.map +1 -1
- package/lib/module/features/playback/trackPlaybackTime.js +88 -0
- package/lib/module/features/playback/trackPlaybackTime.js.map +1 -0
- package/lib/module/features/playback/volume.js +1 -1
- package/lib/module/features/player/options.js +48 -13
- package/lib/module/features/player/options.js.map +1 -1
- package/lib/module/features/player/setup.js +249 -3
- package/lib/module/features/player/setup.js.map +1 -1
- package/lib/module/features/queue/queue.js +10 -3
- package/lib/module/features/queue/queue.js.map +1 -1
- package/lib/module/features/remoteControls.js +0 -11
- package/lib/module/features/remoteControls.js.map +1 -1
- package/lib/module/features/sleepTimer.js +9 -4
- package/lib/module/features/sleepTimer.js.map +1 -1
- package/lib/module/native.js +5 -0
- package/lib/module/native.js.map +1 -1
- package/lib/module/native.web.js +4 -1
- package/lib/module/native.web.js.map +1 -1
- package/lib/module/utils/LazyNativeEmitter.js +0 -3
- package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/module/utils/NativeUpdatedValue.js +0 -3
- package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/module/utils/artwork.js +26 -0
- package/lib/module/utils/artwork.js.map +1 -0
- package/lib/module/web/NativeAudioBrowser.js +302 -125
- package/lib/module/web/NativeAudioBrowser.js.map +1 -1
- package/lib/module/web/TrackPlayer/PlaybackStateMachine.js +67 -0
- package/lib/module/web/TrackPlayer/PlaybackStateMachine.js.map +1 -0
- package/lib/module/web/TrackPlayer/PlaybackTimer.js +29 -0
- package/lib/module/web/TrackPlayer/PlaybackTimer.js.map +1 -0
- package/lib/module/web/TrackPlayer/Player.js +90 -26
- package/lib/module/web/TrackPlayer/Player.js.map +1 -1
- package/lib/module/web/TrackPlayer/PlayingStateFactory.js +17 -0
- package/lib/module/web/TrackPlayer/PlayingStateFactory.js.map +1 -0
- package/lib/module/web/TrackPlayer/QueueManager.js +269 -0
- package/lib/module/web/TrackPlayer/QueueManager.js.map +1 -0
- package/lib/module/web/TrackPlayer/QueuePlayer.js +154 -0
- package/lib/module/web/TrackPlayer/QueuePlayer.js.map +1 -0
- package/lib/module/web/TrackPlayer/RepeatMode.js +1 -1
- package/lib/module/web/TrackPlayer/RepeatMode.js.map +1 -1
- package/lib/module/web/TrackPlayer/SleepTimer.js +34 -3
- package/lib/module/web/TrackPlayer/SleepTimer.js.map +1 -1
- package/lib/module/web/TrackPlayer/VolumeFader.js +70 -0
- package/lib/module/web/TrackPlayer/VolumeFader.js.map +1 -0
- package/lib/module/web/TrackPlayer/index.js +2 -1
- package/lib/module/web/TrackPlayer/index.js.map +1 -1
- package/lib/module/web/browser/BrowserManager.js +176 -50
- package/lib/module/web/browser/BrowserManager.js.map +1 -1
- package/lib/module/web/browser/NavigationErrorManager.js +3 -1
- package/lib/module/web/browser/NavigationErrorManager.js.map +1 -1
- package/lib/module/web/browser/SearchManager.js +11 -9
- package/lib/module/web/browser/SearchManager.js.map +1 -1
- package/lib/module/web/browser/assertBrowsePageShape.js +18 -0
- package/lib/module/web/browser/assertBrowsePageShape.js.map +1 -0
- package/lib/module/web/browser/classifyTrackNavigation.js +38 -0
- package/lib/module/web/browser/classifyTrackNavigation.js.map +1 -0
- package/lib/module/web/browser/parseSearchResponse.js +16 -0
- package/lib/module/web/browser/parseSearchResponse.js.map +1 -0
- package/lib/module/web/http/HttpClient.js +4 -23
- package/lib/module/web/http/HttpClient.js.map +1 -1
- package/lib/module/web/http/RequestConfigBuilder.js +107 -58
- package/lib/module/web/http/RequestConfigBuilder.js.map +1 -1
- package/lib/module/web/playbackErrorKind.js +52 -0
- package/lib/module/web/playbackErrorKind.js.map +1 -0
- package/lib/module/web/player/MediaSessionManager.js +116 -0
- package/lib/module/web/player/MediaSessionManager.js.map +1 -0
- package/lib/module/web/player/NowPlayingManager.js +7 -5
- package/lib/module/web/player/NowPlayingManager.js.map +1 -1
- package/lib/module/web/player/OptionsManager.js +9 -17
- package/lib/module/web/player/OptionsManager.js.map +1 -1
- package/lib/module/web/player/RemoteCommandController.js +92 -0
- package/lib/module/web/player/RemoteCommandController.js.map +1 -0
- package/lib/typescript/src/features/browser-config.d.ts +12 -0
- package/lib/typescript/src/features/browser-config.d.ts.map +1 -0
- package/lib/typescript/src/features/browser.d.ts +40 -1
- package/lib/typescript/src/features/browser.d.ts.map +1 -1
- package/lib/typescript/src/features/carConnection.d.ts +20 -0
- package/lib/typescript/src/features/carConnection.d.ts.map +1 -0
- package/lib/typescript/src/features/errors.d.ts +58 -3
- package/lib/typescript/src/features/errors.d.ts.map +1 -1
- package/lib/typescript/src/features/gate.d.ts +77 -0
- package/lib/typescript/src/features/gate.d.ts.map +1 -0
- package/lib/typescript/src/features/index.d.ts +2 -0
- package/lib/typescript/src/features/index.d.ts.map +1 -1
- package/lib/typescript/src/features/metadata.d.ts +6 -4
- package/lib/typescript/src/features/metadata.d.ts.map +1 -1
- package/lib/typescript/src/features/nowPlaying.d.ts +27 -0
- package/lib/typescript/src/features/nowPlaying.d.ts.map +1 -1
- package/lib/typescript/src/features/output.d.ts +28 -18
- package/lib/typescript/src/features/output.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/controls.d.ts +5 -0
- package/lib/typescript/src/features/playback/controls.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/index.d.ts +1 -0
- package/lib/typescript/src/features/playback/index.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/progress.d.ts +3 -0
- package/lib/typescript/src/features/playback/progress.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +34 -0
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +1 -0
- package/lib/typescript/src/features/playback/volume.d.ts +1 -1
- package/lib/typescript/src/features/player/options.d.ts +92 -93
- package/lib/typescript/src/features/player/options.d.ts.map +1 -1
- package/lib/typescript/src/features/player/setup.d.ts +206 -167
- package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
- package/lib/typescript/src/features/queue/queue.d.ts +9 -2
- package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
- package/lib/typescript/src/features/remoteControls.d.ts +0 -13
- package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
- package/lib/typescript/src/features/sleepTimer.d.ts +18 -3
- package/lib/typescript/src/features/sleepTimer.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/native.d.ts +1 -2
- package/lib/typescript/src/native.d.ts.map +1 -1
- package/lib/typescript/src/specs/audio-browser.nitro.d.ts +17 -225
- package/lib/typescript/src/specs/audio-browser.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-native.d.ts +9 -3
- package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-nodes.d.ts +145 -13
- package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
- package/lib/typescript/src/types/browser.d.ts +349 -85
- package/lib/typescript/src/types/browser.d.ts.map +1 -1
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +0 -2
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +0 -2
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
- package/lib/typescript/src/utils/artwork.d.ts +19 -0
- package/lib/typescript/src/utils/artwork.d.ts.map +1 -0
- package/lib/typescript/src/utils/resolveAssetSource.d.ts.map +1 -1
- package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +3 -1
- package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +24 -10
- package/nitrogen/generated/android/c++/JAndroidAudioContentType.hpp +6 -6
- package/nitrogen/generated/android/c++/JAndroidOptions.hpp +1 -11
- package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +33 -1
- package/nitrogen/generated/android/c++/JArtworkVariants.hpp +61 -0
- package/nitrogen/generated/android/c++/JBrowseResult.hpp +5 -0
- package/nitrogen/generated/android/c++/JCarPlayNowPlayingButton.hpp +3 -3
- package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +6 -0
- package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +58 -0
- package/nitrogen/generated/android/c++/JFavoritesMatchMode.hpp +58 -0
- package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +100 -0
- package/nitrogen/generated/android/c++/JFormattedNavigationError.hpp +3 -2
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.hpp +112 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.hpp +121 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +123 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +133 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +121 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.hpp +139 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +6 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.hpp +134 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +8 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +6 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp +131 -0
- package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +6 -0
- package/nitrogen/generated/android/c++/JFunc_void_GateEvent.hpp +79 -0
- package/nitrogen/generated/android/c++/JFunc_void_NowPlayingMetadata.hpp +0 -10
- package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +9 -4
- package/nitrogen/generated/android/c++/JFunc_void_Output.hpp +80 -0
- package/nitrogen/generated/android/c++/JFunc_void_Playback.hpp +2 -0
- package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +6 -0
- package/nitrogen/generated/android/c++/JFunc_void_PlaybackErrorEvent.hpp +2 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +10 -10
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +6 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +6 -0
- package/nitrogen/generated/android/c++/JGate.hpp +62 -0
- package/nitrogen/generated/android/c++/JGateDecision.hpp +64 -0
- package/nitrogen/generated/android/c++/{JThumbsRating.hpp → JGateEvent.hpp} +16 -15
- package/nitrogen/generated/android/c++/JGateReason.hpp +58 -0
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +236 -212
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +25 -22
- package/nitrogen/generated/android/c++/JIOSOptions.hpp +95 -0
- package/nitrogen/generated/android/c++/JImageRowItem.hpp +33 -3
- package/nitrogen/generated/android/c++/JMediaReference.hpp +58 -0
- package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +33 -1
- package/nitrogen/generated/android/c++/{JPartialAndroidSetupPlayerOptions.hpp → JNativeAndroidSetupOptions.hpp} +10 -10
- package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +61 -28
- package/nitrogen/generated/android/c++/JNativeGateRequest.hpp +74 -0
- package/nitrogen/generated/android/c++/{JPartialIOSSetupPlayerOptions.hpp → JNativeIOSSetupOptions.hpp} +10 -10
- package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +20 -9
- package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +182 -0
- package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +16 -19
- package/nitrogen/generated/android/c++/JNavigationErrorType.hpp +6 -0
- package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +1 -11
- package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +96 -0
- package/nitrogen/generated/android/c++/JNotificationButton.hpp +3 -3
- package/nitrogen/generated/android/c++/JNowPlayingMetadata.hpp +3 -17
- package/nitrogen/generated/android/c++/JNowPlayingUpdate.hpp +7 -3
- package/nitrogen/generated/android/c++/JOptions.hpp +14 -9
- package/nitrogen/generated/android/c++/{JIosOutput.hpp → JOutput.hpp} +15 -15
- package/nitrogen/generated/android/c++/JOutputType.hpp +82 -0
- package/nitrogen/generated/android/c++/JPlayback.hpp +2 -0
- package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +6 -0
- package/nitrogen/generated/android/c++/JPlaybackError.hpp +18 -3
- package/nitrogen/generated/android/c++/JPlaybackErrorEvent.hpp +2 -0
- package/nitrogen/generated/android/c++/JPlaybackErrorKind.hpp +76 -0
- package/nitrogen/generated/android/c++/JPlaybackState.hpp +3 -3
- package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +11 -5
- package/nitrogen/generated/android/c++/JResolvedTrack.hpp +23 -5
- package/nitrogen/generated/android/c++/JRetryConfig.hpp +11 -7
- package/nitrogen/generated/android/c++/JSearchMode.hpp +27 -9
- package/nitrogen/generated/android/c++/JSearchParams.hpp +9 -3
- package/nitrogen/generated/android/c++/JStallReason.hpp +58 -0
- package/nitrogen/generated/android/c++/JTrack.hpp +23 -5
- package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +6 -0
- package/nitrogen/generated/android/c++/JTrackRequest.hpp +93 -0
- package/nitrogen/generated/android/c++/JTransformableRequestConfig.hpp +14 -1
- package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.hpp +71 -0
- package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.cpp +41 -0
- package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +121 -0
- package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.hpp +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidAudioContentType.kt +4 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +2 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkRequestConfig.kt +10 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkVariants.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayNowPlayingButton.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{ThumbsRating.kt → FavoriteConfig.kt} +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{RatingType.kt → FavoritesMatchMode.kt} +5 -10
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormatNowPlayingParams.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormattedNavigationError.kt +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___Track.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_std__string____Track.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.kt → Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.kt} +12 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_RemoteSetRatingEvent.kt → Func_void_GateEvent.kt} +9 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_IosOutput.kt → Func_void_Output.kt} +9 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_bool.kt +9 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{HeartRating.kt → Gate.kt} +9 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{PercentageRating.kt → GateDecision.kt} +9 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{StarRating.kt → GateEvent.kt} +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/GateReason.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +103 -109
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +24 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaReference.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaRequestConfig.kt +10 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{PartialAndroidSetupPlayerOptions.kt → NativeAndroidSetupOptions.kt} +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +18 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{RemoteSetRatingEvent.kt → NativeGateRequest.kt} +12 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{PartialIOSSetupPlayerOptions.kt → NativeIOSSetupOptions.kt} +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeRouteEntry.kt +4 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeSetupPlayerOptions.kt +66 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeUpdateOptions.kt +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorType.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +2 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButton.kt +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingMetadata.kt +3 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingUpdate.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Options.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{IosOutput.kt → Output.kt} +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/OutputType.kt +31 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackError.kt +12 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackErrorKind.kt +29 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackState.kt +6 -6
- 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 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RetryConfig.kt +7 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchMode.kt +12 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchParams.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StallReason.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +12 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackRequest.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TransformableRequestConfig.kt +7 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.kt +65 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_String_ArtworkVariants.kt +53 -0
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +139 -28
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +1098 -447
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +60 -39
- package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +170 -112
- package/nitrogen/generated/ios/swift/AndroidAudioContentType.swift +8 -8
- package/nitrogen/generated/ios/swift/AndroidOptions.swift +2 -12
- package/nitrogen/generated/ios/swift/ArtworkRequestConfig.swift +95 -1
- package/nitrogen/generated/ios/swift/ArtworkVariants.swift +34 -0
- package/nitrogen/generated/ios/swift/CarPlayNowPlayingButton.swift +4 -4
- package/nitrogen/generated/ios/swift/FavoriteConfig.swift +29 -0
- package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +40 -0
- package/nitrogen/generated/ios/swift/FormatNowPlayingParams.swift +67 -0
- package/nitrogen/generated/ios/swift/FormattedNavigationError.swift +17 -4
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.swift +69 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___Track.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.swift +60 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_std__string____Track.swift +60 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.swift +61 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.swift +61 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.swift +77 -0
- package/nitrogen/generated/ios/swift/Func_void_GateDecision.swift +46 -0
- package/nitrogen/generated/ios/swift/{Func_void_RemoteSetRatingEvent.swift → Func_void_GateEvent.swift} +10 -10
- package/nitrogen/generated/ios/swift/{Func_void_IosOutput.swift → Func_void_Output.swift} +10 -10
- package/nitrogen/generated/ios/swift/Func_void_TransformableRequestConfig.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +5 -5
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NowPlayingUpdate_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +53 -0
- package/nitrogen/generated/ios/swift/{Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___.swift → Func_void_std__shared_ptr_Promise_GateDecision__.swift} +17 -17
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_TransformableRequestConfig__.swift +66 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____.swift +81 -0
- package/nitrogen/generated/ios/swift/Gate.swift +47 -0
- package/nitrogen/generated/ios/swift/GateDecision.swift +40 -0
- package/nitrogen/generated/ios/swift/GateEvent.swift +29 -0
- package/nitrogen/generated/ios/swift/GateReason.swift +40 -0
- package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +20 -14
- package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +230 -197
- package/nitrogen/generated/ios/swift/IOSOptions.swift +51 -0
- package/nitrogen/generated/ios/swift/ImageRowItem.swift +121 -2
- package/nitrogen/generated/ios/swift/MediaReference.swift +40 -0
- package/nitrogen/generated/ios/swift/MediaRequestConfig.swift +107 -1
- package/nitrogen/generated/ios/swift/{PartialAndroidSetupPlayerOptions.swift → NativeAndroidSetupOptions.swift} +5 -5
- package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +161 -22
- package/nitrogen/generated/ios/swift/NativeGateRequest.swift +58 -0
- package/nitrogen/generated/ios/swift/{PartialIOSSetupPlayerOptions.swift → NativeIOSSetupOptions.swift} +5 -5
- package/nitrogen/generated/ios/swift/NativeRouteEntry.swift +19 -19
- package/nitrogen/generated/ios/swift/NativeSetupPlayerOptions.swift +206 -0
- package/nitrogen/generated/ios/swift/NativeUpdateOptions.swift +12 -25
- package/nitrogen/generated/ios/swift/NavigationErrorType.swift +8 -0
- package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +1 -30
- package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +90 -0
- package/nitrogen/generated/ios/swift/NotificationButton.swift +4 -4
- package/nitrogen/generated/ios/swift/NowPlayingMetadata.swift +1 -48
- package/nitrogen/generated/ios/swift/NowPlayingUpdate.swift +19 -1
- package/nitrogen/generated/ios/swift/Options.swift +10 -4
- package/nitrogen/generated/ios/swift/{IosOutput.swift → Output.swift} +7 -7
- package/nitrogen/generated/ios/swift/OutputType.swift +72 -0
- package/nitrogen/generated/ios/swift/PlaybackError.swift +43 -2
- package/nitrogen/generated/ios/swift/PlaybackErrorKind.swift +64 -0
- package/nitrogen/generated/ios/swift/PlaybackState.swift +4 -4
- package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +27 -8
- package/nitrogen/generated/ios/swift/ResolvedTrack.swift +74 -8
- package/nitrogen/generated/ios/swift/RetryConfig.swift +35 -4
- package/nitrogen/generated/ios/swift/SearchMode.swift +36 -12
- package/nitrogen/generated/ios/swift/SearchParams.swift +7 -2
- package/nitrogen/generated/ios/swift/StallReason.swift +40 -0
- package/nitrogen/generated/ios/swift/Track.swift +74 -8
- package/nitrogen/generated/ios/swift/TrackRequest.swift +106 -0
- package/nitrogen/generated/ios/swift/TransformableRequestConfig.swift +60 -1
- package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.swift +19 -0
- package/nitrogen/generated/ios/swift/Variant_String_ArtworkVariants.swift +18 -0
- package/nitrogen/generated/shared/c++/AndroidAudioContentType.hpp +10 -10
- package/nitrogen/generated/shared/c++/AndroidOptions.hpp +1 -12
- package/nitrogen/generated/shared/c++/ArtworkRequestConfig.hpp +10 -2
- package/nitrogen/generated/shared/c++/ArtworkVariants.hpp +87 -0
- package/nitrogen/generated/shared/c++/CarPlayNowPlayingButton.hpp +6 -6
- package/nitrogen/generated/shared/c++/EqualizerSettings.hpp +0 -2
- package/nitrogen/generated/shared/c++/{StarRating.hpp → FavoriteConfig.hpp} +18 -17
- package/nitrogen/generated/shared/c++/FavoritesMatchMode.hpp +76 -0
- package/nitrogen/generated/shared/c++/FormatNowPlayingParams.hpp +110 -0
- package/nitrogen/generated/shared/c++/FormattedNavigationError.hpp +6 -5
- package/nitrogen/generated/shared/c++/{HeartRating.hpp → Gate.hpp} +21 -16
- package/nitrogen/generated/shared/c++/{ThumbsRating.hpp → GateDecision.hpp} +23 -17
- package/nitrogen/generated/shared/c++/{PercentageRating.hpp → GateEvent.hpp} +18 -17
- package/nitrogen/generated/shared/c++/GateReason.hpp +76 -0
- package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +21 -18
- package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +44 -35
- package/nitrogen/generated/shared/c++/IOSOptions.hpp +91 -0
- package/nitrogen/generated/shared/c++/ImageRowItem.hpp +33 -2
- package/nitrogen/generated/shared/c++/MediaReference.hpp +76 -0
- package/nitrogen/generated/shared/c++/MediaRequestConfig.hpp +10 -2
- package/nitrogen/generated/shared/c++/{PartialAndroidSetupPlayerOptions.hpp → NativeAndroidSetupOptions.hpp} +11 -11
- package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +31 -15
- package/nitrogen/generated/shared/c++/NativeGateRequest.hpp +97 -0
- package/nitrogen/generated/shared/c++/{PartialIOSSetupPlayerOptions.hpp → NativeIOSSetupOptions.hpp} +11 -11
- package/nitrogen/generated/shared/c++/NativeRouteEntry.hpp +5 -5
- package/nitrogen/generated/shared/c++/NativeSetupPlayerOptions.hpp +138 -0
- package/nitrogen/generated/shared/c++/NativeUpdateOptions.hpp +9 -7
- package/nitrogen/generated/shared/c++/NavigationErrorType.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +1 -12
- package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +92 -0
- package/nitrogen/generated/shared/c++/NotificationButton.hpp +8 -8
- package/nitrogen/generated/shared/c++/NowPlayingMetadata.hpp +3 -19
- package/nitrogen/generated/shared/c++/NowPlayingUpdate.hpp +6 -2
- package/nitrogen/generated/shared/c++/Options.hpp +8 -8
- package/nitrogen/generated/shared/c++/{IosOutput.hpp → Output.hpp} +18 -18
- package/nitrogen/generated/shared/c++/OutputType.hpp +108 -0
- package/nitrogen/generated/shared/c++/PlaybackError.hpp +18 -3
- package/nitrogen/generated/shared/c++/PlaybackErrorKind.hpp +100 -0
- package/nitrogen/generated/shared/c++/PlaybackState.hpp +9 -9
- package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +9 -6
- package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +24 -5
- package/nitrogen/generated/shared/c++/RetryConfig.hpp +10 -6
- package/nitrogen/generated/shared/c++/SearchMode.hpp +39 -15
- package/nitrogen/generated/shared/c++/SearchParams.hpp +9 -2
- package/nitrogen/generated/shared/c++/StallReason.hpp +76 -0
- package/nitrogen/generated/shared/c++/Track.hpp +24 -5
- package/nitrogen/generated/shared/c++/TrackRequest.hpp +93 -0
- package/nitrogen/generated/shared/c++/TransformableRequestConfig.hpp +6 -2
- package/package.json +16 -16
- package/src/codegen-no-config-variant.test.ts +70 -0
- package/src/features/browser-config.test.ts +110 -0
- package/src/features/browser-config.ts +293 -0
- package/src/features/browser.test.ts +19 -0
- package/src/features/browser.ts +58 -201
- package/src/features/carConnection.ts +36 -0
- package/src/features/errors.ts +68 -2
- package/src/features/gate.test.ts +72 -0
- package/src/features/gate.ts +155 -0
- package/src/features/index.ts +2 -0
- package/src/features/metadata.ts +6 -12
- package/src/features/nowPlaying.ts +36 -0
- package/src/features/output.ts +35 -22
- package/src/features/playback/controls.ts +8 -0
- package/src/features/playback/index.ts +1 -0
- package/src/features/playback/progress.ts +31 -12
- package/src/features/playback/trackPlaybackTime.test.ts +66 -0
- package/src/features/playback/trackPlaybackTime.ts +106 -0
- package/src/features/playback/volume.ts +1 -1
- package/src/features/player/options.test.ts +38 -0
- package/src/features/player/options.ts +140 -75
- package/src/features/player/setup.test.ts +117 -0
- package/src/features/player/setup.ts +390 -175
- package/src/features/queue/queue.test.ts +36 -0
- package/src/features/queue/queue.ts +15 -4
- package/src/features/remoteControls.ts +0 -23
- package/src/features/sleepTimer.ts +23 -4
- package/src/native.ts +5 -0
- package/src/native.web.ts +4 -1
- package/src/specs/audio-browser.nitro.ts +131 -41
- package/src/types/browser-native.ts +19 -6
- package/src/types/browser-nodes.ts +160 -13
- package/src/types/browser.ts +377 -89
- package/src/utils/LazyNativeEmitter.ts +0 -2
- package/src/utils/NativeUpdatedValue.ts +0 -2
- package/src/utils/artwork.ts +30 -0
- package/src/web/NativeAudioBrowser.playWhenReady.test.ts +301 -0
- package/src/web/NativeAudioBrowser.ts +368 -157
- package/src/web/SimpleRouter.test.ts +9 -9
- package/src/web/TrackPlayer/PlaybackStateMachine.test.ts +139 -0
- package/src/web/TrackPlayer/PlaybackStateMachine.ts +82 -0
- package/src/web/TrackPlayer/PlaybackTimer.test.ts +67 -0
- package/src/web/TrackPlayer/PlaybackTimer.ts +33 -0
- package/src/web/TrackPlayer/Player.dispatch.test.ts +229 -0
- package/src/web/TrackPlayer/Player.load.test.ts +86 -0
- package/src/web/TrackPlayer/Player.ts +113 -39
- package/src/web/TrackPlayer/PlayingStateFactory.test.ts +51 -0
- package/src/web/TrackPlayer/PlayingStateFactory.ts +24 -0
- package/src/web/TrackPlayer/QueueManager.test.ts +289 -0
- package/src/web/TrackPlayer/QueueManager.ts +302 -0
- package/src/web/TrackPlayer/QueuePlayer.ts +188 -0
- package/src/web/TrackPlayer/RepeatMode.ts +1 -1
- package/src/web/TrackPlayer/SleepTimer.ts +38 -3
- package/src/web/TrackPlayer/VolumeFader.ts +74 -0
- package/src/web/TrackPlayer/index.ts +2 -1
- package/src/web/browser/BrowserManager.ts +231 -62
- package/src/web/browser/NavigationErrorManager.ts +3 -1
- package/src/web/browser/SearchManager.ts +11 -15
- package/src/web/browser/__tests__/layer-resolver.test.ts +69 -0
- package/src/web/browser/assertBrowsePageShape.test.ts +27 -0
- package/src/web/browser/assertBrowsePageShape.ts +27 -0
- package/src/web/browser/classifyTrackNavigation.test.ts +41 -0
- package/src/web/browser/classifyTrackNavigation.ts +35 -0
- package/src/web/browser/parseSearchResponse.test.ts +25 -0
- package/src/web/browser/parseSearchResponse.ts +15 -0
- package/src/web/http/HttpClient.ts +5 -35
- package/src/web/http/RequestConfigBuilder.test.ts +59 -0
- package/src/web/http/RequestConfigBuilder.ts +120 -63
- package/src/web/playbackErrorKind.test.ts +55 -0
- package/src/web/playbackErrorKind.ts +56 -0
- package/src/web/player/MediaSessionManager.test.ts +220 -0
- package/src/web/player/MediaSessionManager.ts +151 -0
- package/src/web/player/NowPlayingManager.test.ts +46 -0
- package/src/web/player/NowPlayingManager.ts +6 -5
- package/src/web/player/OptionsManager.ts +12 -18
- package/src/web/player/RemoteCommandController.test.ts +171 -0
- package/src/web/player/RemoteCommandController.ts +166 -0
- package/android/src/main/java/com/audiobrowser/player/PlaybackProgressUpdateManager.kt +0 -59
- package/android/src/main/java/com/audiobrowser/util/RatingFactory.kt +0 -72
- package/android/src/main/java/com/audiobrowser/util/ResolvedTrackFactory.kt +0 -36
- package/android/src/test/java/com/audiobrowser/player/PlaybackProgressUpdateManagerTest.kt +0 -146
- package/ios/CarPlay/Track+CarPlay.swift +0 -63
- package/ios/NowPlayingInfo/NowPlayingInfoCenter.swift +0 -9
- package/ios/Player/PlaybackProgressUpdateManager.swift +0 -68
- package/ios/Tests/PlaybackProgressUpdateManagerTests.swift +0 -166
- package/lib/commonjs/features/rating.js +0 -2
- package/lib/commonjs/features/rating.js.map +0 -1
- package/lib/commonjs/types/player.js +0 -2
- package/lib/commonjs/types/player.js.map +0 -1
- package/lib/commonjs/web/SimpleRouter.test.js +0 -174
- package/lib/commonjs/web/SimpleRouter.test.js.map +0 -1
- package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js +0 -293
- package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js.map +0 -1
- package/lib/module/features/rating.js +0 -2
- package/lib/module/features/rating.js.map +0 -1
- package/lib/module/types/player.js +0 -2
- package/lib/module/types/player.js.map +0 -1
- package/lib/module/web/SimpleRouter.test.js +0 -174
- package/lib/module/web/SimpleRouter.test.js.map +0 -1
- package/lib/module/web/TrackPlayer/PlaylistPlayer.js +0 -288
- package/lib/module/web/TrackPlayer/PlaylistPlayer.js.map +0 -1
- package/lib/typescript/src/features/rating.d.ts +0 -14
- package/lib/typescript/src/features/rating.d.ts.map +0 -1
- package/lib/typescript/src/native.web.d.ts +0 -3
- package/lib/typescript/src/native.web.d.ts.map +0 -1
- package/lib/typescript/src/types/player.d.ts +0 -64
- package/lib/typescript/src/types/player.d.ts.map +0 -1
- package/lib/typescript/src/web/NativeAudioBrowser.d.ts +0 -188
- package/lib/typescript/src/web/NativeAudioBrowser.d.ts.map +0 -1
- package/lib/typescript/src/web/SimpleRouter.d.ts +0 -40
- package/lib/typescript/src/web/SimpleRouter.d.ts.map +0 -1
- package/lib/typescript/src/web/SimpleRouter.test.d.ts +0 -2
- package/lib/typescript/src/web/SimpleRouter.test.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/Event.d.ts +0 -11
- package/lib/typescript/src/web/TrackPlayer/Event.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/Player.d.ts +0 -59
- package/lib/typescript/src/web/TrackPlayer/Player.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts +0 -39
- package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts +0 -6
- package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts +0 -4
- package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts +0 -34
- package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/State.d.ts +0 -13
- package/lib/typescript/src/web/TrackPlayer/State.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/index.d.ts +0 -5
- package/lib/typescript/src/web/TrackPlayer/index.d.ts.map +0 -1
- package/lib/typescript/src/web/browser/BrowserManager.d.ts +0 -154
- package/lib/typescript/src/web/browser/BrowserManager.d.ts.map +0 -1
- package/lib/typescript/src/web/browser/FavoriteManager.d.ts +0 -42
- package/lib/typescript/src/web/browser/FavoriteManager.d.ts.map +0 -1
- package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts +0 -40
- package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts.map +0 -1
- package/lib/typescript/src/web/browser/SearchManager.d.ts +0 -22
- package/lib/typescript/src/web/browser/SearchManager.d.ts.map +0 -1
- package/lib/typescript/src/web/http/HttpClient.d.ts +0 -25
- package/lib/typescript/src/web/http/HttpClient.d.ts.map +0 -1
- package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts +0 -98
- package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts.map +0 -1
- package/lib/typescript/src/web/player/NowPlayingManager.d.ts +0 -34
- package/lib/typescript/src/web/player/NowPlayingManager.d.ts.map +0 -1
- package/lib/typescript/src/web/player/OptionsManager.d.ts +0 -32
- package/lib/typescript/src/web/player/OptionsManager.d.ts.map +0 -1
- package/lib/typescript/src/web/util/BrowserPathHelper.d.ts +0 -69
- package/lib/typescript/src/web/util/BrowserPathHelper.d.ts.map +0 -1
- package/lib/typescript/src/web/util/shuffle.d.ts +0 -8
- package/lib/typescript/src/web/util/shuffle.d.ts.map +0 -1
- package/nitrogen/generated/android/c++/JAndroidUpdateOptions.hpp +0 -86
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.hpp +0 -147
- package/nitrogen/generated/android/c++/JFunc_void_IosOutput.hpp +0 -80
- package/nitrogen/generated/android/c++/JFunc_void_RemoteSetRatingEvent.hpp +0 -87
- package/nitrogen/generated/android/c++/JHeartRating.hpp +0 -57
- package/nitrogen/generated/android/c++/JIosOutputType.hpp +0 -85
- package/nitrogen/generated/android/c++/JPartialSetupPlayerOptions.hpp +0 -96
- package/nitrogen/generated/android/c++/JPercentageRating.hpp +0 -57
- package/nitrogen/generated/android/c++/JRatingType.hpp +0 -73
- package/nitrogen/generated/android/c++/JRemoteSetRatingEvent.hpp +0 -66
- package/nitrogen/generated/android/c++/JStarRating.hpp +0 -57
- package/nitrogen/generated/android/c++/JUpdateOptions.hpp +0 -105
- package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.cpp +0 -34
- package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.hpp +0 -105
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidUpdateOptions.kt +0 -50
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IosOutputType.kt +0 -32
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialSetupPlayerOptions.kt +0 -47
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/UpdateOptions.kt +0 -53
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.kt +0 -77
- package/nitrogen/generated/ios/swift/AndroidUpdateOptions.swift +0 -119
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.swift +0 -68
- package/nitrogen/generated/ios/swift/HeartRating.swift +0 -29
- package/nitrogen/generated/ios/swift/IosOutputType.swift +0 -76
- package/nitrogen/generated/ios/swift/PartialSetupPlayerOptions.swift +0 -101
- package/nitrogen/generated/ios/swift/PercentageRating.swift +0 -29
- package/nitrogen/generated/ios/swift/RatingType.swift +0 -60
- package/nitrogen/generated/ios/swift/RemoteSetRatingEvent.swift +0 -58
- package/nitrogen/generated/ios/swift/StarRating.swift +0 -29
- package/nitrogen/generated/ios/swift/ThumbsRating.swift +0 -29
- package/nitrogen/generated/ios/swift/UpdateOptions.swift +0 -143
- package/nitrogen/generated/ios/swift/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.swift +0 -20
- package/nitrogen/generated/shared/c++/AndroidUpdateOptions.hpp +0 -109
- package/nitrogen/generated/shared/c++/IosOutputType.hpp +0 -112
- package/nitrogen/generated/shared/c++/PartialSetupPlayerOptions.hpp +0 -104
- package/nitrogen/generated/shared/c++/RatingType.hpp +0 -96
- package/nitrogen/generated/shared/c++/RemoteSetRatingEvent.hpp +0 -94
- package/nitrogen/generated/shared/c++/UpdateOptions.hpp +0 -111
- package/src/features/rating.ts +0 -17
- package/src/types/player.ts +0 -69
- package/src/web/TrackPlayer/PlaylistPlayer.ts +0 -346
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { Track, ResolvedTrack } from '../../types';
|
|
2
|
-
/**
|
|
3
|
-
* Manages favorite state for tracks.
|
|
4
|
-
* Matches Android's favorite hydration behavior.
|
|
5
|
-
*/
|
|
6
|
-
export declare class FavoriteManager {
|
|
7
|
-
private favorites;
|
|
8
|
-
/**
|
|
9
|
-
* Sets the favorites cache from an array of track src values.
|
|
10
|
-
* This is typically called when favorites are loaded from storage.
|
|
11
|
-
*/
|
|
12
|
-
setFavorites(favorites: string[]): void;
|
|
13
|
-
/**
|
|
14
|
-
* Checks if a track is favorited based on its src.
|
|
15
|
-
*/
|
|
16
|
-
isFavorited(src: string): boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Adds a track src to the favorites cache.
|
|
19
|
-
*/
|
|
20
|
-
addFavorite(src: string): void;
|
|
21
|
-
/**
|
|
22
|
-
* Removes a track src from the favorites cache.
|
|
23
|
-
*/
|
|
24
|
-
removeFavorite(src: string): void;
|
|
25
|
-
/**
|
|
26
|
-
* Hydrates the favorited property on a track based on the native favorites cache.
|
|
27
|
-
* Matches Android's hydrateFavorite behavior.
|
|
28
|
-
*
|
|
29
|
-
* @param track Track to hydrate
|
|
30
|
-
* @returns Track with favorited property set if found in cache
|
|
31
|
-
*/
|
|
32
|
-
hydrateFavorite(track: Track): Track;
|
|
33
|
-
/**
|
|
34
|
-
* Hydrates favorites on all children of a ResolvedTrack.
|
|
35
|
-
* Matches Android's hydrateChildren behavior.
|
|
36
|
-
*
|
|
37
|
-
* @param resolvedTrack ResolvedTrack with children to hydrate
|
|
38
|
-
* @returns ResolvedTrack with favorited properties set on children
|
|
39
|
-
*/
|
|
40
|
-
hydrateChildren(resolvedTrack: ResolvedTrack): ResolvedTrack;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=FavoriteManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FavoriteManager.d.ts","sourceRoot":"","sources":["../../../../../src/web/browser/FavoriteManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEvD;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAoB;IAErC;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAIvC;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIjC;;;;;;OAMG;IACH,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAcpC;;;;;;OAMG;IACH,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa;CAY7D"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { NavigationError, NavigationErrorType, FormattedNavigationError, NavigationErrorEvent } from '../../features';
|
|
2
|
-
import type { NativeBrowserConfiguration } from '../../types/browser-native';
|
|
3
|
-
/**
|
|
4
|
-
* Manages navigation error state and formatting.
|
|
5
|
-
* Handles both raw error objects and formatted user-facing error messages.
|
|
6
|
-
*/
|
|
7
|
-
export declare class NavigationErrorManager {
|
|
8
|
-
private _navigationError;
|
|
9
|
-
private _formattedNavigationError;
|
|
10
|
-
private formatCallback?;
|
|
11
|
-
onNavigationError: (data: NavigationErrorEvent) => void;
|
|
12
|
-
onFormattedNavigationError: (formattedError: FormattedNavigationError | undefined) => void;
|
|
13
|
-
/**
|
|
14
|
-
* Sets the custom error formatter callback from configuration.
|
|
15
|
-
*/
|
|
16
|
-
setFormatCallback(callback: NativeBrowserConfiguration['formatNavigationError']): void;
|
|
17
|
-
/**
|
|
18
|
-
* Clears the current navigation error and emits clear events.
|
|
19
|
-
*/
|
|
20
|
-
clearNavigationError(): void;
|
|
21
|
-
/**
|
|
22
|
-
* Sets a navigation error with the given code and message.
|
|
23
|
-
* Automatically formats the error using the configured formatter or default formatting.
|
|
24
|
-
*
|
|
25
|
-
* @param code Error type code
|
|
26
|
-
* @param message Error message
|
|
27
|
-
* @param path Optional path where the error occurred
|
|
28
|
-
* @param statusCode Optional HTTP status code for http-error types
|
|
29
|
-
*/
|
|
30
|
-
setNavigationError(code: NavigationErrorType, message: string, path?: string, statusCode?: number): void;
|
|
31
|
-
/**
|
|
32
|
-
* Gets the current raw navigation error.
|
|
33
|
-
*/
|
|
34
|
-
getNavigationError(): NavigationError | undefined;
|
|
35
|
-
/**
|
|
36
|
-
* Gets the current formatted navigation error.
|
|
37
|
-
*/
|
|
38
|
-
getFormattedNavigationError(): FormattedNavigationError | undefined;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=NavigationErrorManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationErrorManager.d.ts","sourceRoot":"","sources":["../../../../../src/web/browser/NavigationErrorManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AAU5E;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,yBAAyB,CAAsC;IACvE,OAAO,CAAC,cAAc,CAAC,CAAqD;IAG5E,iBAAiB,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAW;IAClE,0BAA0B,EAAE,CAC1B,cAAc,EAAE,wBAAwB,GAAG,SAAS,KACjD,IAAI,CAAW;IAEpB;;OAEG;IACH,iBAAiB,CACf,QAAQ,EAAE,0BAA0B,CAAC,uBAAuB,CAAC,GAC5D,IAAI;IAIP;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAY5B;;;;;;;;OAQG;IACH,kBAAkB,CAChB,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAoCP;;OAEG;IACH,kBAAkB,IAAI,eAAe,GAAG,SAAS;IAIjD;;OAEG;IACH,2BAA2B,IAAI,wBAAwB,GAAG,SAAS;CAGpE"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { Track, SearchParams } from '../../types';
|
|
2
|
-
import type { HttpClient } from '../http/HttpClient';
|
|
3
|
-
import type { BrowserManager } from './BrowserManager';
|
|
4
|
-
/**
|
|
5
|
-
* Manages search functionality.
|
|
6
|
-
* Resolves search queries using configured __search__ route.
|
|
7
|
-
* Matches Android's search architecture.
|
|
8
|
-
*/
|
|
9
|
-
export declare class SearchManager {
|
|
10
|
-
private browserManager;
|
|
11
|
-
private httpClient;
|
|
12
|
-
constructor(browserManager: BrowserManager, httpClient: HttpClient);
|
|
13
|
-
/**
|
|
14
|
-
* Executes a search query using the __search__ route configuration.
|
|
15
|
-
* Matches Android's BrowserManager.search(params: SearchParams) behavior.
|
|
16
|
-
*
|
|
17
|
-
* @param params Search parameters (query is required, other fields optional)
|
|
18
|
-
* @returns Array of matching tracks
|
|
19
|
-
*/
|
|
20
|
-
search(params: SearchParams): Promise<Track[]>;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=SearchManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SearchManager.d.ts","sourceRoot":"","sources":["../../../../../src/web/browser/SearchManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGtD;;;;GAIG;AACH,qBAAa,aAAa;IAEtB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;gBADV,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU;IAGhC;;;;;;OAMG;IACG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAgErD"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { RequestConfig, TransformableRequestConfig } from '../../types';
|
|
2
|
-
/**
|
|
3
|
-
* HTTP client for making browser API requests.
|
|
4
|
-
* Mirrors Android's HttpClient.kt
|
|
5
|
-
* Uses RequestConfigBuilder for URL building and config merging.
|
|
6
|
-
*/
|
|
7
|
-
export declare class HttpClient {
|
|
8
|
-
private baseRequestConfig;
|
|
9
|
-
constructor(baseRequestConfig?: Partial<TransformableRequestConfig>);
|
|
10
|
-
/**
|
|
11
|
-
* Updates the base request configuration used for all requests.
|
|
12
|
-
*/
|
|
13
|
-
setBaseRequestConfig(config: Partial<TransformableRequestConfig>): void;
|
|
14
|
-
/**
|
|
15
|
-
* Merges multiple request configs with proper header and query parameter merging.
|
|
16
|
-
* Uses RequestConfigBuilder for consistent merging behavior.
|
|
17
|
-
*/
|
|
18
|
-
mergeRequestConfig(base: Partial<TransformableRequestConfig>, overrides: Partial<RequestConfig>): RequestConfig;
|
|
19
|
-
/**
|
|
20
|
-
* Executes an HTTP request and returns the JSON response.
|
|
21
|
-
* Throws navigation errors for HTTP and network failures.
|
|
22
|
-
*/
|
|
23
|
-
executeRequest(config: RequestConfig): Promise<unknown>;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=HttpClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../../../../src/web/http/HttpClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAqB5E;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,iBAAiB,CAAqC;gBAElD,iBAAiB,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAIvE;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,IAAI;IAIvE;;;OAGG;IACH,kBAAkB,CAChB,IAAI,EAAE,OAAO,CAAC,0BAA0B,CAAC,EACzC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAChC,aAAa;IAahB;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CA2D9D"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import type { RequestConfig, TransformableRequestConfig, MediaRequestConfig, ArtworkRequestConfig, ImageSource, Track, ImageContext } from '../../types';
|
|
2
|
-
/**
|
|
3
|
-
* Builds and merges request configurations.
|
|
4
|
-
* Mirrors Android's RequestConfigBuilder.kt
|
|
5
|
-
*/
|
|
6
|
-
export declare const RequestConfigBuilder: {
|
|
7
|
-
/**
|
|
8
|
-
* Builds a complete URL from a request config.
|
|
9
|
-
* Uses BrowserPathHelper for consistent URL building.
|
|
10
|
-
*/
|
|
11
|
-
readonly buildUrl: (config: RequestConfig) => string;
|
|
12
|
-
/**
|
|
13
|
-
* Merges two RequestConfigs, with override values taking precedence.
|
|
14
|
-
* Headers and query params are merged (not replaced).
|
|
15
|
-
*/
|
|
16
|
-
readonly mergeConfig: (base: RequestConfig, override: RequestConfig) => RequestConfig;
|
|
17
|
-
/**
|
|
18
|
-
* Merges a base RequestConfig with a MediaRequestConfig.
|
|
19
|
-
* Returns the merged config for use in media URL resolution.
|
|
20
|
-
* Supports the transform callback like Android's RequestConfigBuilder.
|
|
21
|
-
*
|
|
22
|
-
* Note: MediaRequestConfig inherits transform from TransformableRequestConfig,
|
|
23
|
-
* which takes (request, routeParams?) directly, not MediaTransformParams.
|
|
24
|
-
*/
|
|
25
|
-
readonly mergeMediaConfig: (base: RequestConfig, override: MediaRequestConfig) => Promise<RequestConfig>;
|
|
26
|
-
/**
|
|
27
|
-
* Merges a base RequestConfig with an ArtworkRequestConfig.
|
|
28
|
-
* Returns the merged config for use in artwork URL resolution.
|
|
29
|
-
*/
|
|
30
|
-
readonly mergeArtworkConfig: (base: RequestConfig, override: ArtworkRequestConfig) => RequestConfig;
|
|
31
|
-
/**
|
|
32
|
-
* Converts a TransformableRequestConfig to a plain RequestConfig.
|
|
33
|
-
*/
|
|
34
|
-
readonly toRequestConfig: (config: TransformableRequestConfig | MediaRequestConfig | ArtworkRequestConfig) => RequestConfig;
|
|
35
|
-
/**
|
|
36
|
-
* Resolves a media URL using the media configuration.
|
|
37
|
-
* Creates a RequestConfig with the track's src as the path, then builds the URL.
|
|
38
|
-
* Supports the transform callback for URL manipulation.
|
|
39
|
-
*
|
|
40
|
-
* @param src The track's src value (may be relative or absolute)
|
|
41
|
-
* @param mediaConfig The media request configuration
|
|
42
|
-
* @returns The resolved absolute URL
|
|
43
|
-
*/
|
|
44
|
-
readonly resolveMediaUrl: (src: string, mediaConfig: MediaRequestConfig | undefined) => Promise<string>;
|
|
45
|
-
/**
|
|
46
|
-
* Resolves an artwork URL and creates an ImageSource.
|
|
47
|
-
* Matches Android's artwork URL transformation behavior.
|
|
48
|
-
*
|
|
49
|
-
* @param artworkUrl The artwork URL (may be relative or absolute)
|
|
50
|
-
* @param artworkConfig The artwork request configuration
|
|
51
|
-
* @returns ImageSource with resolved URI, or undefined if no artwork
|
|
52
|
-
*/
|
|
53
|
-
readonly resolveArtworkSource: (artworkUrl: string | undefined, artworkConfig: ArtworkRequestConfig | undefined) => ImageSource | undefined;
|
|
54
|
-
/**
|
|
55
|
-
* Resolves an artwork URL asynchronously with full Track access.
|
|
56
|
-
* Supports resolve and transform callbacks from ArtworkRequestConfig.
|
|
57
|
-
* Matches Android's CoilBitmapLoader.transformArtworkUrlForTrack() behavior.
|
|
58
|
-
*
|
|
59
|
-
* The resolution order is:
|
|
60
|
-
* 1. If resolve callback exists, call it with the track to get per-track config
|
|
61
|
-
* 2. Merge base config + resolved config
|
|
62
|
-
* 3. Apply imageQueryParams if context has dimensions
|
|
63
|
-
* 4. Apply transform callback if present
|
|
64
|
-
*
|
|
65
|
-
* @param track The track to resolve artwork for (full Track object)
|
|
66
|
-
* @param artworkConfig The artwork request configuration
|
|
67
|
-
* @param imageContext Optional image context with size hints (width/height)
|
|
68
|
-
* @returns ImageSource with resolved URI, or undefined if no artwork
|
|
69
|
-
*/
|
|
70
|
-
readonly resolveArtworkSourceAsync: (track: Track, artworkConfig: ArtworkRequestConfig | undefined, imageContext?: ImageContext) => Promise<ImageSource | undefined>;
|
|
71
|
-
/**
|
|
72
|
-
* Transforms a track's artwork URL and populates artworkSource.
|
|
73
|
-
* Leaves the original artwork property unchanged.
|
|
74
|
-
* Matches Android's transformArtworkUrl behavior.
|
|
75
|
-
*
|
|
76
|
-
* @param track The track to transform
|
|
77
|
-
* @param artworkConfig The artwork request configuration
|
|
78
|
-
* @returns Track with artworkSource populated
|
|
79
|
-
*/
|
|
80
|
-
readonly transformTrackArtwork: (track: Track, artworkConfig: ArtworkRequestConfig | undefined) => Track;
|
|
81
|
-
/**
|
|
82
|
-
* Transforms artwork URLs for an array of tracks.
|
|
83
|
-
*
|
|
84
|
-
* @param tracks Array of tracks to transform
|
|
85
|
-
* @param artworkConfig The artwork request configuration
|
|
86
|
-
* @returns Tracks with artworkSource populated
|
|
87
|
-
*/
|
|
88
|
-
readonly transformTracksArtwork: (tracks: Track[], artworkConfig: ArtworkRequestConfig | undefined) => Track[];
|
|
89
|
-
/**
|
|
90
|
-
* Merges header maps, with override values taking precedence.
|
|
91
|
-
*/
|
|
92
|
-
readonly mergeHeaders: (base: Record<string, string> | undefined, override: Record<string, string> | undefined) => Record<string, string> | undefined;
|
|
93
|
-
/**
|
|
94
|
-
* Merges query parameter maps, with override values taking precedence.
|
|
95
|
-
*/
|
|
96
|
-
readonly mergeQuery: (base: Record<string, string> | undefined, override: Record<string, string> | undefined) => Record<string, string> | undefined;
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=RequestConfigBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RequestConfigBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/web/http/RequestConfigBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,KAAK,EACL,YAAY,EAEb,MAAM,aAAa,CAAA;AAgDpB;;;GAGG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;;OAGG;gCACc,aAAa,KAAG,MAAM;IAWvC;;;OAGG;iCACe,aAAa,YAAY,aAAa,KAAG,aAAa;IAaxE;;;;;;;OAOG;sCAEK,aAAa,YACT,kBAAkB,KAC3B,OAAO,CAAC,aAAa,CAAC;IAoBzB;;;OAGG;wCAEK,aAAa,YACT,oBAAoB,KAC7B,aAAa;IAKhB;;OAEG;uCAGG,0BAA0B,GAC1B,kBAAkB,GAClB,oBAAoB,KACvB,aAAa;IAahB;;;;;;;;OAQG;oCAEI,MAAM,eACE,kBAAkB,GAAG,SAAS,KAC1C,OAAO,CAAC,MAAM,CAAC;IASlB;;;;;;;OAOG;gDAEW,MAAM,GAAG,SAAS,iBACf,oBAAoB,GAAG,SAAS,KAC9C,WAAW,GAAG,SAAS;IAmB1B;;;;;;;;;;;;;;;OAeG;gDAEM,KAAK,iBACG,oBAAoB,GAAG,SAAS,iBAChC,YAAY,KAC1B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAkEnC;;;;;;;;OAQG;4CAEM,KAAK,iBACG,oBAAoB,GAAG,SAAS,KAC9C,KAAK;IAgBR;;;;;;OAMG;8CAEO,KAAK,EAAE,iBACA,oBAAoB,GAAG,SAAS,KAC9C,KAAK,EAAE;IAMV;;OAEG;kCAEK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,YAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,KAC3C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAMrC;;OAEG;gCAEK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,YAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,KAC3C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;CAK7B,CAAA"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { NowPlayingUpdate, NowPlayingMetadata } from '../../features';
|
|
2
|
-
import type { Track } from '../../types';
|
|
3
|
-
/**
|
|
4
|
-
* Manages now playing metadata overrides.
|
|
5
|
-
* Allows temporary metadata changes for the currently playing track
|
|
6
|
-
* (e.g., updating stream metadata for live radio).
|
|
7
|
-
*/
|
|
8
|
-
export declare class NowPlayingManager {
|
|
9
|
-
private override;
|
|
10
|
-
onNowPlayingChanged: (metadata: NowPlayingMetadata) => void;
|
|
11
|
-
/**
|
|
12
|
-
* Updates the now playing metadata with an override.
|
|
13
|
-
* Pass null or undefined to clear overrides and revert to track metadata.
|
|
14
|
-
*
|
|
15
|
-
* @param update Metadata override or null/undefined to clear
|
|
16
|
-
* @param currentTrack Current track for base metadata
|
|
17
|
-
* @param duration Current track duration
|
|
18
|
-
*/
|
|
19
|
-
updateNowPlaying(update: NowPlayingUpdate | undefined, currentTrack: Track | undefined, duration: number): void;
|
|
20
|
-
/**
|
|
21
|
-
* Gets the current now playing metadata (with override applied if set).
|
|
22
|
-
*
|
|
23
|
-
* @param currentTrack Current track for base metadata
|
|
24
|
-
* @param duration Current track duration
|
|
25
|
-
* @returns Now playing metadata or undefined if no track
|
|
26
|
-
*/
|
|
27
|
-
getNowPlaying(currentTrack: Track | undefined, duration: number): NowPlayingMetadata | undefined;
|
|
28
|
-
/**
|
|
29
|
-
* Clears the current metadata override.
|
|
30
|
-
* Should be called when the track changes.
|
|
31
|
-
*/
|
|
32
|
-
clearNowPlayingOverride(): void;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=NowPlayingManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NowPlayingManager.d.ts","sourceRoot":"","sources":["../../../../../src/web/player/NowPlayingManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAA8B;IAG9C,mBAAmB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAW;IAEtE;;;;;;;OAOG;IACH,gBAAgB,CACd,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,YAAY,EAAE,KAAK,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,GACf,IAAI;IA8BP;;;;;;OAMG;IACH,aAAa,CACX,YAAY,EAAE,KAAK,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,GACf,kBAAkB,GAAG,SAAS;IAejC;;;OAGG;IACH,uBAAuB,IAAI,IAAI;CAGhC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { NativeUpdateOptions, UpdateOptions, Options, RepeatMode as RepeatModeType } from '../../features';
|
|
2
|
-
/**
|
|
3
|
-
* Manages player options and configuration.
|
|
4
|
-
* Handles option updates and change detection.
|
|
5
|
-
*/
|
|
6
|
-
export declare class OptionsManager {
|
|
7
|
-
private options;
|
|
8
|
-
onOptionsChanged: (options: Options) => void;
|
|
9
|
-
/**
|
|
10
|
-
* Updates player options with change detection.
|
|
11
|
-
* Emits onOptionsChanged event after updating.
|
|
12
|
-
*
|
|
13
|
-
* @param options Partial options to update
|
|
14
|
-
*/
|
|
15
|
-
updateOptions(options: NativeUpdateOptions): void;
|
|
16
|
-
/**
|
|
17
|
-
* Gets current player options (excluding repeatMode).
|
|
18
|
-
*/
|
|
19
|
-
getOptions(): UpdateOptions;
|
|
20
|
-
/**
|
|
21
|
-
* Gets the current repeat mode.
|
|
22
|
-
*/
|
|
23
|
-
getRepeatMode(): RepeatModeType;
|
|
24
|
-
/**
|
|
25
|
-
* Sets the repeat mode.
|
|
26
|
-
* Updates internal state but does not emit events - caller should handle that.
|
|
27
|
-
*
|
|
28
|
-
* @param mode New repeat mode
|
|
29
|
-
*/
|
|
30
|
-
setRepeatMode(mode: RepeatModeType): void;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=OptionsManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OptionsManager.d.ts","sourceRoot":"","sources":["../../../../../src/web/player/OptionsManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,UAAU,IAAI,cAAc,EAC7B,MAAM,gBAAgB,CAAA;AAOvB;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAMd;IAGD,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAW;IAEvD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAuCjD;;OAEG;IACH,UAAU,IAAI,aAAa;IAS3B;;OAEG;IACH,aAAa,IAAI,cAAc;IAI/B;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;CAG1C"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utility for handling browser paths and contextual URLs in the media browser system.
|
|
3
|
-
* Mirrors Android's BrowserPathHelper.kt
|
|
4
|
-
*
|
|
5
|
-
* Handles two types of special paths:
|
|
6
|
-
* 1. System paths (prefixed with `/__`): Root, recent, and search paths
|
|
7
|
-
* 2. Contextual URLs: Embed parent context in track identifiers for Media3 integration
|
|
8
|
-
*
|
|
9
|
-
* Contextual URL format: `{parentPath}?__trackId={trackSrc}`
|
|
10
|
-
* Example: "/library/radio?__trackId=song.mp3"
|
|
11
|
-
*
|
|
12
|
-
* This allows:
|
|
13
|
-
* - Media3 to reference playable-only tracks (tracks with `src` but no `url`)
|
|
14
|
-
* - Cache lookup to work consistently
|
|
15
|
-
* - Parent context to be preserved for queue restoration
|
|
16
|
-
*/
|
|
17
|
-
export declare const BrowserPathHelper: {
|
|
18
|
-
/** Search path prefix (full path is /__search?q=query) */
|
|
19
|
-
readonly SEARCH_PATH_PREFIX: "/__search";
|
|
20
|
-
/** Query parameter name for contextual track identifiers */
|
|
21
|
-
readonly CONTEXTUAL_TRACK_PARAM: "__trackId";
|
|
22
|
-
/**
|
|
23
|
-
* Create a search path for a given query
|
|
24
|
-
*/
|
|
25
|
-
readonly createSearchPath: (query: string) => string;
|
|
26
|
-
/**
|
|
27
|
-
* Checks if a path contains a contextual track identifier.
|
|
28
|
-
*
|
|
29
|
-
* @param path The URL path to check
|
|
30
|
-
* @returns true if the path contains the contextual track parameter
|
|
31
|
-
*/
|
|
32
|
-
readonly isContextual: (path: string) => boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Strips the __trackId parameter from a contextual URL to get the parent path.
|
|
35
|
-
* If the URL is not contextual, returns it unchanged.
|
|
36
|
-
*
|
|
37
|
-
* @param url The URL to process
|
|
38
|
-
* @returns The URL without the __trackId parameter
|
|
39
|
-
*
|
|
40
|
-
* Example: "/library/radio?__trackId=song.mp3" → "/library/radio"
|
|
41
|
-
* Example: "/search?q=jazz&__trackId=song.mp3" → "/search?q=jazz"
|
|
42
|
-
*/
|
|
43
|
-
readonly stripTrackId: (url: string) => string;
|
|
44
|
-
/**
|
|
45
|
-
* Extracts the track ID from a contextual URL.
|
|
46
|
-
* Returns undefined if the URL is not contextual or doesn't contain the track ID parameter.
|
|
47
|
-
*
|
|
48
|
-
* @param path The contextual URL to parse
|
|
49
|
-
* @returns The extracted track ID, or undefined if not found
|
|
50
|
-
*
|
|
51
|
-
* Example: "/library/radio?__trackId=song.mp3" → "song.mp3"
|
|
52
|
-
*/
|
|
53
|
-
readonly extractTrackId: (path: string) => string | undefined;
|
|
54
|
-
/**
|
|
55
|
-
* Combines a base URL with a path, ensuring proper slash handling.
|
|
56
|
-
*
|
|
57
|
-
* @param baseUrl The base URL (can be undefined)
|
|
58
|
-
* @param path The path to append
|
|
59
|
-
* @returns The combined URL with proper slash handling
|
|
60
|
-
*
|
|
61
|
-
* Examples:
|
|
62
|
-
* - buildUrl("http://example.com", "api/test") → "http://example.com/api/test"
|
|
63
|
-
* - buildUrl("http://example.com/", "/api/test") → "http://example.com/api/test"
|
|
64
|
-
* - buildUrl(undefined, "/api/test") → "/api/test"
|
|
65
|
-
* - buildUrl(undefined, "http://full.url") → "http://full.url"
|
|
66
|
-
*/
|
|
67
|
-
readonly buildUrl: (baseUrl: string | undefined, path: string) => string;
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=BrowserPathHelper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserPathHelper.d.ts","sourceRoot":"","sources":["../../../../../src/web/util/BrowserPathHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB;IAC5B,0DAA0D;;IAG1D,4DAA4D;;IAG5D;;OAEG;uCACqB,MAAM,KAAG,MAAM;IAKvC;;;;;OAKG;kCACgB,MAAM,KAAG,OAAO;IAOnC;;;;;;;;;OASG;iCACe,MAAM,KAAG,MAAM;IAmCjC;;;;;;;;OAQG;oCACkB,MAAM,KAAG,MAAM,GAAG,SAAS;IAoBhD;;;;;;;;;;;;OAYG;iCACe,MAAM,GAAG,SAAS,QAAQ,MAAM,KAAG,MAAM;CAgBnD,CAAA"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shuffles an array in place using the Fisher-Yates algorithm.
|
|
3
|
-
* https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
|
|
4
|
-
*
|
|
5
|
-
* @param array The array to shuffle (mutated in place)
|
|
6
|
-
*/
|
|
7
|
-
export declare function fisherYatesShuffle<T>(array: T[]): void;
|
|
8
|
-
//# sourceMappingURL=shuffle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shuffle.d.ts","sourceRoot":"","sources":["../../../../../src/web/util/shuffle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAOtD"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
///
|
|
2
|
-
/// JAndroidUpdateOptions.hpp
|
|
3
|
-
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
-
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
-
///
|
|
7
|
-
|
|
8
|
-
#pragma once
|
|
9
|
-
|
|
10
|
-
#include <fbjni/fbjni.h>
|
|
11
|
-
#include "AndroidUpdateOptions.hpp"
|
|
12
|
-
|
|
13
|
-
#include "AppKilledPlaybackBehavior.hpp"
|
|
14
|
-
#include "JAppKilledPlaybackBehavior.hpp"
|
|
15
|
-
#include "JNotificationButton.hpp"
|
|
16
|
-
#include "JNotificationButtonLayout.hpp"
|
|
17
|
-
#include "JRatingType.hpp"
|
|
18
|
-
#include "JVariant_NullType_NotificationButtonLayout.hpp"
|
|
19
|
-
#include "NotificationButton.hpp"
|
|
20
|
-
#include "NotificationButtonLayout.hpp"
|
|
21
|
-
#include "RatingType.hpp"
|
|
22
|
-
#include <NitroModules/JNull.hpp>
|
|
23
|
-
#include <NitroModules/Null.hpp>
|
|
24
|
-
#include <optional>
|
|
25
|
-
#include <variant>
|
|
26
|
-
#include <vector>
|
|
27
|
-
|
|
28
|
-
namespace margelo::nitro::audiobrowser {
|
|
29
|
-
|
|
30
|
-
using namespace facebook;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* The C++ JNI bridge between the C++ struct "AndroidUpdateOptions" and the the Kotlin data class "AndroidUpdateOptions".
|
|
34
|
-
*/
|
|
35
|
-
struct JAndroidUpdateOptions final: public jni::JavaClass<JAndroidUpdateOptions> {
|
|
36
|
-
public:
|
|
37
|
-
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/AndroidUpdateOptions;";
|
|
38
|
-
|
|
39
|
-
public:
|
|
40
|
-
/**
|
|
41
|
-
* Convert this Java/Kotlin-based struct to the C++ struct AndroidUpdateOptions by copying all values to C++.
|
|
42
|
-
*/
|
|
43
|
-
[[maybe_unused]]
|
|
44
|
-
[[nodiscard]]
|
|
45
|
-
AndroidUpdateOptions toCpp() const {
|
|
46
|
-
static const auto clazz = javaClassStatic();
|
|
47
|
-
static const auto fieldAppKilledPlaybackBehavior = clazz->getField<JAppKilledPlaybackBehavior>("appKilledPlaybackBehavior");
|
|
48
|
-
jni::local_ref<JAppKilledPlaybackBehavior> appKilledPlaybackBehavior = this->getFieldValue(fieldAppKilledPlaybackBehavior);
|
|
49
|
-
static const auto fieldSkipSilence = clazz->getField<jni::JBoolean>("skipSilence");
|
|
50
|
-
jni::local_ref<jni::JBoolean> skipSilence = this->getFieldValue(fieldSkipSilence);
|
|
51
|
-
static const auto fieldShuffle = clazz->getField<jni::JBoolean>("shuffle");
|
|
52
|
-
jni::local_ref<jni::JBoolean> shuffle = this->getFieldValue(fieldShuffle);
|
|
53
|
-
static const auto fieldRatingType = clazz->getField<JRatingType>("ratingType");
|
|
54
|
-
jni::local_ref<JRatingType> ratingType = this->getFieldValue(fieldRatingType);
|
|
55
|
-
static const auto fieldNotificationButtons = clazz->getField<JVariant_NullType_NotificationButtonLayout>("notificationButtons");
|
|
56
|
-
jni::local_ref<JVariant_NullType_NotificationButtonLayout> notificationButtons = this->getFieldValue(fieldNotificationButtons);
|
|
57
|
-
return AndroidUpdateOptions(
|
|
58
|
-
appKilledPlaybackBehavior != nullptr ? std::make_optional(appKilledPlaybackBehavior->toCpp()) : std::nullopt,
|
|
59
|
-
skipSilence != nullptr ? std::make_optional(static_cast<bool>(skipSilence->value())) : std::nullopt,
|
|
60
|
-
shuffle != nullptr ? std::make_optional(static_cast<bool>(shuffle->value())) : std::nullopt,
|
|
61
|
-
ratingType != nullptr ? std::make_optional(ratingType->toCpp()) : std::nullopt,
|
|
62
|
-
notificationButtons != nullptr ? std::make_optional(notificationButtons->toCpp()) : std::nullopt
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
public:
|
|
67
|
-
/**
|
|
68
|
-
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
69
|
-
*/
|
|
70
|
-
[[maybe_unused]]
|
|
71
|
-
static jni::local_ref<JAndroidUpdateOptions::javaobject> fromCpp(const AndroidUpdateOptions& value) {
|
|
72
|
-
using JSignature = JAndroidUpdateOptions(jni::alias_ref<JAppKilledPlaybackBehavior>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JRatingType>, jni::alias_ref<JVariant_NullType_NotificationButtonLayout>);
|
|
73
|
-
static const auto clazz = javaClassStatic();
|
|
74
|
-
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
75
|
-
return create(
|
|
76
|
-
clazz,
|
|
77
|
-
value.appKilledPlaybackBehavior.has_value() ? JAppKilledPlaybackBehavior::fromCpp(value.appKilledPlaybackBehavior.value()) : nullptr,
|
|
78
|
-
value.skipSilence.has_value() ? jni::JBoolean::valueOf(value.skipSilence.value()) : nullptr,
|
|
79
|
-
value.shuffle.has_value() ? jni::JBoolean::valueOf(value.shuffle.value()) : nullptr,
|
|
80
|
-
value.ratingType.has_value() ? JRatingType::fromCpp(value.ratingType.value()) : nullptr,
|
|
81
|
-
value.notificationButtons.has_value() ? JVariant_NullType_NotificationButtonLayout::fromCpp(value.notificationButtons.value()) : nullptr
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
} // namespace margelo::nitro::audiobrowser
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
///
|
|
2
|
-
/// JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.hpp
|
|
3
|
-
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
-
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
-
///
|
|
7
|
-
|
|
8
|
-
#pragma once
|
|
9
|
-
|
|
10
|
-
#include <fbjni/fbjni.h>
|
|
11
|
-
#include <functional>
|
|
12
|
-
|
|
13
|
-
#include "ResolvedTrack.hpp"
|
|
14
|
-
#include "BrowseError.hpp"
|
|
15
|
-
#include <variant>
|
|
16
|
-
#include <NitroModules/Promise.hpp>
|
|
17
|
-
#include "BrowserSourceCallbackParam.hpp"
|
|
18
|
-
#include <functional>
|
|
19
|
-
#include <NitroModules/JNICallable.hpp>
|
|
20
|
-
#include <NitroModules/JPromise.hpp>
|
|
21
|
-
#include "JBrowseResult.hpp"
|
|
22
|
-
#include "JResolvedTrack.hpp"
|
|
23
|
-
#include <string>
|
|
24
|
-
#include "Track.hpp"
|
|
25
|
-
#include <vector>
|
|
26
|
-
#include <optional>
|
|
27
|
-
#include "JTrack.hpp"
|
|
28
|
-
#include "ImageSource.hpp"
|
|
29
|
-
#include "JImageSource.hpp"
|
|
30
|
-
#include "HttpMethod.hpp"
|
|
31
|
-
#include "JHttpMethod.hpp"
|
|
32
|
-
#include <unordered_map>
|
|
33
|
-
#include "TrackStyle.hpp"
|
|
34
|
-
#include "JTrackStyle.hpp"
|
|
35
|
-
#include "ImageRowItem.hpp"
|
|
36
|
-
#include "JImageRowItem.hpp"
|
|
37
|
-
#include "CarPlaySiriListButtonPosition.hpp"
|
|
38
|
-
#include "JCarPlaySiriListButtonPosition.hpp"
|
|
39
|
-
#include "JBrowseError.hpp"
|
|
40
|
-
#include "JBrowserSourceCallbackParam.hpp"
|
|
41
|
-
|
|
42
|
-
namespace margelo::nitro::audiobrowser {
|
|
43
|
-
|
|
44
|
-
using namespace facebook;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Represents the Java/Kotlin callback `(param: BrowserSourceCallbackParam) -> Promise<Promise<BrowseResult>>`.
|
|
48
|
-
* This can be passed around between C++ and Java/Kotlin.
|
|
49
|
-
*/
|
|
50
|
-
struct JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam: public jni::JavaClass<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam> {
|
|
51
|
-
public:
|
|
52
|
-
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam;";
|
|
53
|
-
|
|
54
|
-
public:
|
|
55
|
-
/**
|
|
56
|
-
* Invokes the function this `JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam` instance holds through JNI.
|
|
57
|
-
*/
|
|
58
|
-
std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>> invoke(const BrowserSourceCallbackParam& param) const {
|
|
59
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBrowserSourceCallbackParam> /* param */)>("invoke");
|
|
60
|
-
auto __result = method(self(), JBrowserSourceCallbackParam::fromCpp(param));
|
|
61
|
-
return [&]() {
|
|
62
|
-
auto __promise = Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>::create();
|
|
63
|
-
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
64
|
-
auto __result = jni::static_ref_cast<JPromise::javaobject>(__boxedResult);
|
|
65
|
-
__promise->resolve([&]() {
|
|
66
|
-
auto __promise = Promise<std::variant<ResolvedTrack, BrowseError>>::create();
|
|
67
|
-
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
68
|
-
auto __result = jni::static_ref_cast<JBrowseResult>(__boxedResult);
|
|
69
|
-
__promise->resolve(__result->toCpp());
|
|
70
|
-
});
|
|
71
|
-
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
72
|
-
jni::JniException __jniError(__throwable);
|
|
73
|
-
__promise->reject(std::make_exception_ptr(__jniError));
|
|
74
|
-
});
|
|
75
|
-
return __promise;
|
|
76
|
-
}());
|
|
77
|
-
});
|
|
78
|
-
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
79
|
-
jni::JniException __jniError(__throwable);
|
|
80
|
-
__promise->reject(std::make_exception_ptr(__jniError));
|
|
81
|
-
});
|
|
82
|
-
return __promise;
|
|
83
|
-
}();
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* An implementation of Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam that is backed by a C++ implementation (using `std::function<...>`)
|
|
89
|
-
*/
|
|
90
|
-
class JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam_cxx final: public jni::HybridClass<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam_cxx, JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam> {
|
|
91
|
-
public:
|
|
92
|
-
static jni::local_ref<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam::javaobject> fromCpp(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>& func) {
|
|
93
|
-
return JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam_cxx::newObjectCxxArgs(func);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
public:
|
|
97
|
-
/**
|
|
98
|
-
* Invokes the C++ `std::function<...>` this `JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam_cxx` instance holds.
|
|
99
|
-
*/
|
|
100
|
-
jni::local_ref<JPromise::javaobject> invoke_cxx(jni::alias_ref<JBrowserSourceCallbackParam> param) {
|
|
101
|
-
std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>> __result = _func(param->toCpp());
|
|
102
|
-
return [&]() {
|
|
103
|
-
jni::local_ref<JPromise::javaobject> __localPromise = JPromise::create();
|
|
104
|
-
jni::global_ref<JPromise::javaobject> __promise = jni::make_global(__localPromise);
|
|
105
|
-
__result->addOnResolvedListener([=](const std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>& __result) {
|
|
106
|
-
__promise->cthis()->resolve([&]() {
|
|
107
|
-
jni::local_ref<JPromise::javaobject> __localPromise = JPromise::create();
|
|
108
|
-
jni::global_ref<JPromise::javaobject> __promise = jni::make_global(__localPromise);
|
|
109
|
-
__result->addOnResolvedListener([=](const std::variant<ResolvedTrack, BrowseError>& __result) {
|
|
110
|
-
__promise->cthis()->resolve(JBrowseResult::fromCpp(__result));
|
|
111
|
-
});
|
|
112
|
-
__result->addOnRejectedListener([=](const std::exception_ptr& __error) {
|
|
113
|
-
auto __jniError = jni::getJavaExceptionForCppException(__error);
|
|
114
|
-
__promise->cthis()->reject(__jniError);
|
|
115
|
-
});
|
|
116
|
-
return __localPromise;
|
|
117
|
-
}());
|
|
118
|
-
});
|
|
119
|
-
__result->addOnRejectedListener([=](const std::exception_ptr& __error) {
|
|
120
|
-
auto __jniError = jni::getJavaExceptionForCppException(__error);
|
|
121
|
-
__promise->cthis()->reject(__jniError);
|
|
122
|
-
});
|
|
123
|
-
return __localPromise;
|
|
124
|
-
}();
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
public:
|
|
128
|
-
[[nodiscard]]
|
|
129
|
-
inline const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>& getFunction() const {
|
|
130
|
-
return _func;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
public:
|
|
134
|
-
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam_cxx;";
|
|
135
|
-
static void registerNatives() {
|
|
136
|
-
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam_cxx::invoke_cxx)});
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
private:
|
|
140
|
-
explicit JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam_cxx(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>& func): _func(func) { }
|
|
141
|
-
|
|
142
|
-
private:
|
|
143
|
-
friend HybridBase;
|
|
144
|
-
std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)> _func;
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
} // namespace margelo::nitro::audiobrowser
|