fix: endless playback not working

This commit is contained in:
Kingkor Roy Tirtho 2025-07-19 13:58:05 +06:00
parent d2e0dc1ac9
commit 60f032039f
2 changed files with 9 additions and 6 deletions

View File

@ -1,5 +1,6 @@
import 'dart:math';
import 'package:collection/collection.dart';
import 'package:drift/drift.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:spotube/extensions/list.dart';
@ -149,10 +150,13 @@ class AudioPlayerNotifier extends Notifier<AudioPlayerState> {
final tracks = queries
.map(
(query) => state.tracks
.firstWhere((element) => element.id == query.id),
(query) => state.tracks.firstWhereOrNull(
(element) => element.id == query.id,
),
)
.nonNulls
.toList();
state = state.copyWith(
tracks: tracks,
currentIndex: playlist.index,
@ -265,12 +269,12 @@ class AudioPlayerNotifier extends Notifier<AudioPlayerState> {
_assertAllowedTracks(tracks);
tracks = _blacklist.filter(tracks).toList();
state = state.copyWith(
tracks: [...state.tracks, ...tracks],
);
for (final track in tracks) {
await audioPlayer.addTrack(SpotubeMedia(track));
}
state = state.copyWith(
tracks: [...state.tracks, ...tracks],
);
}
Future<void> removeTrack(String trackId) async {

View File

@ -7,7 +7,6 @@ import 'package:dio/dio.dart' as dio_lib;
import 'package:flutter/foundation.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:metadata_god/metadata_god.dart';
import 'package:mime/mime.dart';
import 'package:path/path.dart';
import 'package:shelf/shelf.dart';
import 'package:spotube/models/metadata/metadata.dart';