Store alternative source resources in cache; implements https://github.com/KRTirtho/spotube/issues/1195

https://github.com/KRTirtho/spotube/issues/1195
This commit is contained in:
equationslayer12 2024-02-03 15:30:55 +02:00 committed by GitHub
parent 56219c43d2
commit 24955aa213
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -14,6 +14,7 @@ import 'package:spotube/models/local_track.dart';
import 'package:spotube/models/logger.dart';
import 'package:spotube/models/skip_segment.dart';
import 'package:spotube/models/source_match.dart';
import 'package:spotube/provider/blacklist_provider.dart';
import 'package:spotube/provider/palette_provider.dart';
@ -448,6 +449,18 @@ class ProxyPlaylistNotifier extends PersistedStateNotifier<ProxyPlaylist>
audioPlayer.currentSource!,
makeAppropriateSource(newTrack),
);
// update cache: first remove track, then add the new source
await SourceMatch.box.delete(state.activeTrack?.id);
await SourceMatch.box.put(
newTrack.id,
SourceMatch(
id: newTrack.id!,
sourceType: SourceType.youtube,
createdAt: DateTime.now(),
sourceId: sibling.id,
),
);
}
}