removed dartz
This commit is contained in:
parent
f0fbf8e526
commit
f0dbb1ec65
9 changed files with 44 additions and 119 deletions
|
@ -1,10 +0,0 @@
|
|||
import 'package:equatable/equatable.dart';
|
||||
|
||||
abstract class Failure extends Equatable {
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
}
|
||||
|
||||
class IndexFailure extends Failure {}
|
||||
|
||||
class GenericFailure extends Failure { }
|
|
@ -1,13 +0,0 @@
|
|||
import 'package:dartz/dartz.dart';
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
import 'error/failures.dart';
|
||||
|
||||
abstract class UseCase<Type, Params> {
|
||||
Future<Either<Failure, Type>> call(Params params);
|
||||
}
|
||||
|
||||
class NoParams extends Equatable {
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
}
|
|
@ -1,6 +1,3 @@
|
|||
import 'package:dartz/dartz.dart';
|
||||
|
||||
import '../../core/error/failures.dart';
|
||||
import '../entities/loop_mode.dart';
|
||||
import '../entities/playback_state.dart';
|
||||
import '../entities/shuffle_mode.dart';
|
||||
|
@ -11,18 +8,18 @@ abstract class AudioRepository {
|
|||
Stream<PlaybackState> get playbackStateStream;
|
||||
Stream<int> get currentPositionStream;
|
||||
|
||||
Future<Either<Failure, void>> playSong(int index, List<Song> songList);
|
||||
Future<Either<Failure, void>> play();
|
||||
Future<Either<Failure, void>> pause();
|
||||
Future<Either<Failure, void>> skipToNext();
|
||||
Future<Either<Failure, void>> skipToPrevious();
|
||||
Future<void> playSong(int index, List<Song> songList);
|
||||
Future<void> play();
|
||||
Future<void> pause();
|
||||
Future<void> skipToNext();
|
||||
Future<void> skipToPrevious();
|
||||
Future<void> setIndex(int index);
|
||||
|
||||
Future<void> setShuffleMode(ShuffleMode shuffleMode);
|
||||
Future<void> setLoopMode(LoopMode loopMode);
|
||||
|
||||
Future<Either<Failure, void>> shuffleAll();
|
||||
Future<Either<Failure, void>> addToQueue(Song song);
|
||||
Future<Either<Failure, void>> moveQueueItem(int oldIndex, int newIndex);
|
||||
Future<Either<Failure, void>> removeQueueIndex(int index);
|
||||
Future<void> shuffleAll();
|
||||
Future<void> addToQueue(Song song);
|
||||
Future<void> moveQueueItem(int oldIndex, int newIndex);
|
||||
Future<void> removeQueueIndex(int index);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
import 'package:dartz/dartz.dart';
|
||||
|
||||
import '../../core/error/failures.dart';
|
||||
import '../entities/album.dart';
|
||||
import '../entities/artist.dart';
|
||||
import '../entities/song.dart';
|
||||
|
@ -10,10 +7,10 @@ abstract class MusicDataRepository {
|
|||
Stream<List<Song>> getAlbumSongStream(Album album);
|
||||
Stream<List<Album>> getArtistAlbumStream(Artist artist);
|
||||
|
||||
Future<Either<Failure, List<Song>>> getSongs();
|
||||
Future<Either<Failure, List<Song>>> getSongsFromAlbum(Album album);
|
||||
Future<Either<Failure, List<Album>>> getAlbums();
|
||||
Future<Either<Failure, List<Artist>>> getArtists();
|
||||
Future<List<Song>> getSongs();
|
||||
Future<List<Song>> getSongsFromAlbum(Album album);
|
||||
Future<List<Album>> getAlbums();
|
||||
Future<List<Artist>> getArtists();
|
||||
Future<void> updateDatabase();
|
||||
|
||||
Future<void> setSongBlocked(Song song, bool blocked);
|
||||
|
|
|
@ -81,14 +81,8 @@ abstract class _MusicDataStore with Store {
|
|||
Future<void> fetchArtists() async {
|
||||
isFetchingArtists = true;
|
||||
final result = await _musicDataRepository.getArtists();
|
||||
|
||||
result.fold(
|
||||
(_) => artists = <Artist>[].asObservable(),
|
||||
(artistList) {
|
||||
artists.clear();
|
||||
artists.addAll(artistList);
|
||||
},
|
||||
);
|
||||
artists.addAll(result);
|
||||
|
||||
isFetchingArtists = false;
|
||||
}
|
||||
|
@ -97,14 +91,8 @@ abstract class _MusicDataStore with Store {
|
|||
Future<void> fetchAlbums() async {
|
||||
isFetchingAlbums = true;
|
||||
final result = await _musicDataRepository.getAlbums();
|
||||
|
||||
result.fold(
|
||||
(_) => albums = <Album>[].asObservable(),
|
||||
(albumList) {
|
||||
albums.clear();
|
||||
albums.addAll(albumList);
|
||||
},
|
||||
);
|
||||
albums.addAll(result);
|
||||
|
||||
isFetchingAlbums = false;
|
||||
}
|
||||
|
@ -113,14 +101,8 @@ abstract class _MusicDataStore with Store {
|
|||
Future<void> fetchSongs() async {
|
||||
isFetchingSongs = true;
|
||||
final result = await _musicDataRepository.getSongs();
|
||||
|
||||
result.fold(
|
||||
(_) => songs = <Song>[].asObservable(),
|
||||
(songList) {
|
||||
songs.clear();
|
||||
songs.addAll(songList);
|
||||
},
|
||||
);
|
||||
songs.addAll(result);
|
||||
|
||||
isFetchingSongs = false;
|
||||
}
|
||||
|
@ -132,7 +114,8 @@ abstract class _MusicDataStore with Store {
|
|||
|
||||
@action
|
||||
Future<void> fetchAlbumsFromArtist(Artist artist) async {
|
||||
artistAlbumStream = _musicDataRepository.getArtistAlbumStream(artist).asObservable(initialValue: []);
|
||||
artistAlbumStream =
|
||||
_musicDataRepository.getArtistAlbumStream(artist).asObservable(initialValue: []);
|
||||
}
|
||||
|
||||
Future<void> setSongBlocked(Song song, bool blocked) async {
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
import 'package:dartz/dartz.dart';
|
||||
|
||||
import '../../core/error/failures.dart';
|
||||
import '../../domain/entities/loop_mode.dart';
|
||||
import '../../domain/entities/playback_state.dart';
|
||||
import '../../domain/entities/shuffle_mode.dart';
|
||||
|
@ -18,76 +15,63 @@ class AudioRepositoryImpl implements AudioRepository {
|
|||
Stream<Song> get currentSongStream => _audioManager.currentSongStream;
|
||||
|
||||
@override
|
||||
Stream<PlaybackState> get playbackStateStream =>
|
||||
_audioManager.playbackStateStream;
|
||||
Stream<PlaybackState> get playbackStateStream => _audioManager.playbackStateStream;
|
||||
|
||||
@override
|
||||
Stream<int> get currentPositionStream => _audioManager.currentPositionStream;
|
||||
|
||||
@override
|
||||
Future<Either<Failure, void>> playSong(int index, List<Song> songList) async {
|
||||
final List<SongModel> songModelList =
|
||||
songList.map((song) => song as SongModel).toList();
|
||||
Future<void> playSong(int index, List<Song> songList) async {
|
||||
final List<SongModel> songModelList = songList.map((song) => song as SongModel).toList();
|
||||
|
||||
if (0 <= index && index < songList.length) {
|
||||
await _audioManager.playSong(index, songModelList);
|
||||
return const Right(null);
|
||||
}
|
||||
return Left(IndexFailure());
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, void>> play() async {
|
||||
Future<void> play() async {
|
||||
await _audioManager.play();
|
||||
return const Right(null);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, void>> pause() async {
|
||||
Future<void> pause() async {
|
||||
await _audioManager.pause();
|
||||
return const Right(null);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, void>> skipToNext() async {
|
||||
Future<void> skipToNext() async {
|
||||
await _audioManager.skipToNext();
|
||||
return const Right(null);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, void>> skipToPrevious() async {
|
||||
Future<void> skipToPrevious() async {
|
||||
await _audioManager.skipToPrevious();
|
||||
return const Right(null);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, void>> setShuffleMode(ShuffleMode shuffleMode) async {
|
||||
Future<void> setShuffleMode(ShuffleMode shuffleMode) async {
|
||||
await _audioManager.setShuffleMode(shuffleMode);
|
||||
return const Right(null);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, void>> shuffleAll() async {
|
||||
Future<void> shuffleAll() async {
|
||||
await _audioManager.shuffleAll();
|
||||
return const Right(null);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, void>> addToQueue(Song song) async {
|
||||
Future<void> addToQueue(Song song) async {
|
||||
await _audioManager.addToQueue(song as SongModel);
|
||||
return const Right(null);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, void>> moveQueueItem(int oldIndex, int newIndex) async {
|
||||
Future<void> moveQueueItem(int oldIndex, int newIndex) async {
|
||||
await _audioManager.moveQueueItem(oldIndex, newIndex);
|
||||
return const Right(null);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, void>> removeQueueIndex(int index) async {
|
||||
Future<void> removeQueueIndex(int index) async {
|
||||
await _audioManager.removeQueueIndex(index);
|
||||
return const Right(null);
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:meta/meta.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
|
||||
import '../../core/error/failures.dart';
|
||||
import '../../domain/entities/album.dart';
|
||||
import '../../domain/entities/artist.dart';
|
||||
import '../../domain/entities/song.dart';
|
||||
|
@ -28,33 +26,30 @@ class MusicDataRepositoryImpl implements MusicDataRepository {
|
|||
static final _log = Logger('MusicDataRepository');
|
||||
|
||||
@override
|
||||
Future<Either<Failure, List<Artist>>> getArtists() async {
|
||||
return musicDataSource.getArtists().then((List<ArtistModel> artists) =>
|
||||
Right<Failure, List<ArtistModel>>(artists));
|
||||
Future<List<Artist>> getArtists() async {
|
||||
return musicDataSource.getArtists();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, List<Album>>> getAlbums() async {
|
||||
return musicDataSource.getAlbums().then(
|
||||
(List<AlbumModel> albums) => Right<Failure, List<AlbumModel>>(albums));
|
||||
Future<List<Album>> getAlbums() async {
|
||||
return musicDataSource.getAlbums();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, List<Song>>> getSongs() async {
|
||||
return musicDataSource.getSongs().then(
|
||||
(List<SongModel> songs) => Right<Failure, List<SongModel>>(songs));
|
||||
Future<List<Song>> getSongs() async {
|
||||
return musicDataSource.getSongs();
|
||||
}
|
||||
|
||||
@override
|
||||
Stream<List<Song>> get songStream => musicDataSource.songStream;
|
||||
|
||||
@override
|
||||
Stream<List<Song>> getAlbumSongStream(Album album) => musicDataSource.getAlbumSongStream(album as AlbumModel);
|
||||
Stream<List<Song>> getAlbumSongStream(Album album) =>
|
||||
musicDataSource.getAlbumSongStream(album as AlbumModel);
|
||||
|
||||
@override
|
||||
Future<Either<Failure, List<Song>>> getSongsFromAlbum(Album album) async {
|
||||
return musicDataSource.getSongsFromAlbum(album as AlbumModel).then(
|
||||
(List<SongModel> songs) => Right<Failure, List<SongModel>>(songs));
|
||||
Future<List<Song>> getSongsFromAlbum(Album album) async {
|
||||
return musicDataSource.getSongsFromAlbum(album as AlbumModel);
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
|
@ -185,13 +185,6 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.3.10"
|
||||
dartz:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: dartz
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.9.2"
|
||||
device_info:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
|
@ -13,7 +13,6 @@ dependencies:
|
|||
url: https://github.com/ryanheise/audio_service.git
|
||||
ref: one-isolate
|
||||
audio_session: ^0.0.3
|
||||
dartz: ^0.9.1
|
||||
device_info: ^1.0.0
|
||||
equatable: ^1.1.0
|
||||
file_picker: ^2.1.4
|
||||
|
|
Loading…
Add table
Reference in a new issue