This commit is contained in:
Netveil 2026-08-31 20:22:28 +02:00 committed by GitHub
commit 00a5346811
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -19,11 +19,10 @@ import 'package:spotube/services/logger/logger.dart';
class AudioPlayerStreamListeners { class AudioPlayerStreamListeners {
final Ref ref; final Ref ref;
late final AudioServices notificationService; late final Future<AudioServices> notificationServiceFuture;
AudioPlayerStreamListeners(this.ref) { AudioPlayerStreamListeners(this.ref) {
AudioServices.create(ref, ref.read(audioPlayerProvider.notifier)).then( notificationServiceFuture =
(value) => notificationService = value, AudioServices.create(ref, ref.read(audioPlayerProvider.notifier));
);
final subscriptions = [ final subscriptions = [
subscribeToPlaylist(), subscribeToPlaylist(),
@ -48,10 +47,11 @@ class AudioPlayerStreamListeners {
ref.read(playbackHistoryActionsProvider); ref.read(playbackHistoryActionsProvider);
StreamSubscription subscribeToPlaylist() { StreamSubscription subscribeToPlaylist() {
return audioPlayer.playlistStream.listen((mpvPlaylist) { return audioPlayer.playlistStream.listen((mpvPlaylist) async {
try { try {
if (audioPlayerState.activeTrack == null) return; if (audioPlayerState.activeTrack == null) return;
notificationService.addTrack(audioPlayerState.activeTrack!); final notificationService = await notificationServiceFuture;
await notificationService.addTrack(audioPlayerState.activeTrack!);
discord.updatePresence(audioPlayerState.activeTrack!); discord.updatePresence(audioPlayerState.activeTrack!);
} catch (e, stack) { } catch (e, stack) {
AppLogger.reportError(e, stack); AppLogger.reportError(e, stack);