anchor.diff:  
         audioPlayer.sequenceStream.listen((e) => savePlaylistState());
         audioPlayer.currentIndexStream.listen((e) => savePlaybackState());
  +      audioPlayer.shuffleModeEnabledStream.listen((e) => savePlaybackState());
  +      audioPlayer.loopModeStream.listen((e) => savePlaybackState());
         audioPlayer.positionStream
             .throttleTime(const Duration(seconds: 5), trailing: true)
             .listen((position) => savePlaybackState());
  
positive.code:   Future<void> savePlaybackState() async {
      PlaybackState playbackState = PlaybackState(
          currentSongIndex: audioPlayer.currentIndex ?? 0,
          currentSongProgressMilliseconds: audioPlayer.position.inMilliseconds);
      try {
        final playbackStateFile = await _getPlaybackStateFile(_currentVersion);
        await playbackStateFile.create(recursive: true);
  
negative.code: class PlaybackState {
    final int currentSongIndex;
    final int currentSongProgressMilliseconds;
    final bool repeat;
    final bool shuffle;
  
    PlaybackState(
        {required this.currentSongIndex,
        required this.currentSongProgressMilliseconds,
        required this.repeat,
        required this.shuffle});
  
    factory PlaybackState.fromBytes(List<int> bytes) {
      return PlaybackState.fromJson(jsonDecode(utf8.decode(io.gzip.decode(bytes))));
  