shufflemode persistence
This commit is contained in:
parent
c9cdef237a
commit
ff65e42494
4 changed files with 9 additions and 5 deletions
|
@ -19,8 +19,8 @@ abstract class AudioRepository {
|
|||
Future<Either<Failure, void>> pause();
|
||||
Future<Either<Failure, void>> skipToNext();
|
||||
Future<Either<Failure, void>> skipToPrevious();
|
||||
Future<Either<Failure, void>> setShuffleMode(ShuffleMode shuffleMode);
|
||||
|
||||
Future<Either<Failure, void>> setShuffleMode(ShuffleMode shuffleMode);
|
||||
Future<void> setLoopMode(LoopMode loopMode);
|
||||
|
||||
Future<Either<Failure, void>> shuffleAll();
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import '../entities/loop_mode.dart';
|
||||
import '../entities/shuffle_mode.dart';
|
||||
import '../entities/song.dart';
|
||||
|
||||
abstract class PlayerStateRepository {
|
||||
Stream<List<Song>> get queueStream;
|
||||
Stream<int> get currentIndexStream;
|
||||
Stream<LoopMode> get loopModeStream;
|
||||
Stream<ShuffleMode> get shuffleModeStream;
|
||||
}
|
||||
|
|
|
@ -18,8 +18,7 @@ class AudioStore extends _AudioStore with _$AudioStore {
|
|||
}
|
||||
|
||||
abstract class _AudioStore with Store {
|
||||
_AudioStore(
|
||||
this._audioRepository, this._persistentPlayerStateRepository) {
|
||||
_AudioStore(this._audioRepository, this._persistentPlayerStateRepository) {
|
||||
currentSongStream = _audioRepository.currentSongStream.distinct().asObservable();
|
||||
|
||||
currentPositionStream = _audioRepository.currentPositionStream.asObservable(initialValue: 0);
|
||||
|
@ -29,8 +28,7 @@ abstract class _AudioStore with Store {
|
|||
queueIndexStream = _persistentPlayerStateRepository.currentIndexStream.asObservable();
|
||||
// queueIndexStream = _audioRepository.queueIndexStream.asObservable();
|
||||
|
||||
shuffleModeStream =
|
||||
_audioRepository.shuffleModeStream.asObservable(initialValue: ShuffleMode.none);
|
||||
shuffleModeStream = _persistentPlayerStateRepository.shuffleModeStream.asObservable();
|
||||
|
||||
loopModeStream = _persistentPlayerStateRepository.loopModeStream.asObservable();
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import '../../domain/entities/loop_mode.dart';
|
||||
import '../../domain/entities/shuffle_mode.dart';
|
||||
import '../../domain/entities/song.dart';
|
||||
import '../../domain/repositories/persistent_player_state_repository.dart';
|
||||
import '../datasources/player_state_data_source.dart';
|
||||
|
@ -16,4 +17,7 @@ class PlayerStateRepositoryImpl implements PlayerStateRepository {
|
|||
|
||||
@override
|
||||
Stream<List<Song>> get queueStream => _playerStateDataSource.songQueueStream;
|
||||
|
||||
@override
|
||||
Stream<ShuffleMode> get shuffleModeStream => _playerStateDataSource.shuffleModeStream;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue