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