diff --git a/lib/core/error/failures.dart b/lib/core/error/failures.dart deleted file mode 100644 index c406b24..0000000 --- a/lib/core/error/failures.dart +++ /dev/null @@ -1,10 +0,0 @@ -import 'package:equatable/equatable.dart'; - -abstract class Failure extends Equatable { - @override - List get props => []; -} - -class IndexFailure extends Failure {} - -class GenericFailure extends Failure { } \ No newline at end of file diff --git a/lib/core/usecase.dart b/lib/core/usecase.dart deleted file mode 100644 index dde2a34..0000000 --- a/lib/core/usecase.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:dartz/dartz.dart'; -import 'package:equatable/equatable.dart'; - -import 'error/failures.dart'; - -abstract class UseCase { - Future> call(Params params); -} - -class NoParams extends Equatable { - @override - List get props => []; -} diff --git a/lib/domain/repositories/audio_repository.dart b/lib/domain/repositories/audio_repository.dart index 95951a2..a3ef191 100644 --- a/lib/domain/repositories/audio_repository.dart +++ b/lib/domain/repositories/audio_repository.dart @@ -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 get playbackStateStream; Stream get currentPositionStream; - Future> playSong(int index, List songList); - Future> play(); - Future> pause(); - Future> skipToNext(); - Future> skipToPrevious(); + Future playSong(int index, List songList); + Future play(); + Future pause(); + Future skipToNext(); + Future skipToPrevious(); Future setIndex(int index); Future setShuffleMode(ShuffleMode shuffleMode); Future setLoopMode(LoopMode loopMode); - Future> shuffleAll(); - Future> addToQueue(Song song); - Future> moveQueueItem(int oldIndex, int newIndex); - Future> removeQueueIndex(int index); + Future shuffleAll(); + Future addToQueue(Song song); + Future moveQueueItem(int oldIndex, int newIndex); + Future removeQueueIndex(int index); } diff --git a/lib/domain/repositories/music_data_repository.dart b/lib/domain/repositories/music_data_repository.dart index bb9fe7e..481cce5 100644 --- a/lib/domain/repositories/music_data_repository.dart +++ b/lib/domain/repositories/music_data_repository.dart @@ -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> getAlbumSongStream(Album album); Stream> getArtistAlbumStream(Artist artist); - Future>> getSongs(); - Future>> getSongsFromAlbum(Album album); - Future>> getAlbums(); - Future>> getArtists(); + Future> getSongs(); + Future> getSongsFromAlbum(Album album); + Future> getAlbums(); + Future> getArtists(); Future updateDatabase(); Future setSongBlocked(Song song, bool blocked); diff --git a/lib/presentation/state/music_data_store.dart b/lib/presentation/state/music_data_store.dart index a1f6a1d..d3987b1 100644 --- a/lib/presentation/state/music_data_store.dart +++ b/lib/presentation/state/music_data_store.dart @@ -81,14 +81,8 @@ abstract class _MusicDataStore with Store { Future fetchArtists() async { isFetchingArtists = true; final result = await _musicDataRepository.getArtists(); - - result.fold( - (_) => artists = [].asObservable(), - (artistList) { - artists.clear(); - artists.addAll(artistList); - }, - ); + artists.clear(); + artists.addAll(result); isFetchingArtists = false; } @@ -97,14 +91,8 @@ abstract class _MusicDataStore with Store { Future fetchAlbums() async { isFetchingAlbums = true; final result = await _musicDataRepository.getAlbums(); - - result.fold( - (_) => albums = [].asObservable(), - (albumList) { - albums.clear(); - albums.addAll(albumList); - }, - ); + albums.clear(); + albums.addAll(result); isFetchingAlbums = false; } @@ -113,14 +101,8 @@ abstract class _MusicDataStore with Store { Future fetchSongs() async { isFetchingSongs = true; final result = await _musicDataRepository.getSongs(); - - result.fold( - (_) => songs = [].asObservable(), - (songList) { - songs.clear(); - songs.addAll(songList); - }, - ); + songs.clear(); + songs.addAll(result); isFetchingSongs = false; } @@ -132,7 +114,8 @@ abstract class _MusicDataStore with Store { @action Future fetchAlbumsFromArtist(Artist artist) async { - artistAlbumStream = _musicDataRepository.getArtistAlbumStream(artist).asObservable(initialValue: []); + artistAlbumStream = + _musicDataRepository.getArtistAlbumStream(artist).asObservable(initialValue: []); } Future setSongBlocked(Song song, bool blocked) async { diff --git a/lib/system/repositories/audio_repository_impl.dart b/lib/system/repositories/audio_repository_impl.dart index 11f331b..4393a7e 100644 --- a/lib/system/repositories/audio_repository_impl.dart +++ b/lib/system/repositories/audio_repository_impl.dart @@ -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 get currentSongStream => _audioManager.currentSongStream; @override - Stream get playbackStateStream => - _audioManager.playbackStateStream; + Stream get playbackStateStream => _audioManager.playbackStateStream; @override Stream get currentPositionStream => _audioManager.currentPositionStream; @override - Future> playSong(int index, List songList) async { - final List songModelList = - songList.map((song) => song as SongModel).toList(); + Future playSong(int index, List songList) async { + final List 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> play() async { + Future play() async { await _audioManager.play(); - return const Right(null); } @override - Future> pause() async { + Future pause() async { await _audioManager.pause(); - return const Right(null); } @override - Future> skipToNext() async { + Future skipToNext() async { await _audioManager.skipToNext(); - return const Right(null); } @override - Future> skipToPrevious() async { + Future skipToPrevious() async { await _audioManager.skipToPrevious(); - return const Right(null); } @override - Future> setShuffleMode(ShuffleMode shuffleMode) async { + Future setShuffleMode(ShuffleMode shuffleMode) async { await _audioManager.setShuffleMode(shuffleMode); - return const Right(null); } @override - Future> shuffleAll() async { + Future shuffleAll() async { await _audioManager.shuffleAll(); - return const Right(null); } @override - Future> addToQueue(Song song) async { + Future addToQueue(Song song) async { await _audioManager.addToQueue(song as SongModel); - return const Right(null); } @override - Future> moveQueueItem(int oldIndex, int newIndex) async { + Future moveQueueItem(int oldIndex, int newIndex) async { await _audioManager.moveQueueItem(oldIndex, newIndex); - return const Right(null); } @override - Future> removeQueueIndex(int index) async { + Future removeQueueIndex(int index) async { await _audioManager.removeQueueIndex(index); - return const Right(null); } @override @@ -97,6 +81,6 @@ class AudioRepositoryImpl implements AudioRepository { @override Future setIndex(int index) async { - await _audioManager.setIndex(index); + await _audioManager.setIndex(index); } } diff --git a/lib/system/repositories/music_data_repository_impl.dart b/lib/system/repositories/music_data_repository_impl.dart index 8f3b092..4108d31 100644 --- a/lib/system/repositories/music_data_repository_impl.dart +++ b/lib/system/repositories/music_data_repository_impl.dart @@ -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>> getArtists() async { - return musicDataSource.getArtists().then((List artists) => - Right>(artists)); + Future> getArtists() async { + return musicDataSource.getArtists(); } @override - Future>> getAlbums() async { - return musicDataSource.getAlbums().then( - (List albums) => Right>(albums)); + Future> getAlbums() async { + return musicDataSource.getAlbums(); } @override - Future>> getSongs() async { - return musicDataSource.getSongs().then( - (List songs) => Right>(songs)); + Future> getSongs() async { + return musicDataSource.getSongs(); } @override Stream> get songStream => musicDataSource.songStream; @override - Stream> getAlbumSongStream(Album album) => musicDataSource.getAlbumSongStream(album as AlbumModel); + Stream> getAlbumSongStream(Album album) => + musicDataSource.getAlbumSongStream(album as AlbumModel); @override - Future>> getSongsFromAlbum(Album album) async { - return musicDataSource.getSongsFromAlbum(album as AlbumModel).then( - (List songs) => Right>(songs)); + Future> getSongsFromAlbum(Album album) async { + return musicDataSource.getSongsFromAlbum(album as AlbumModel); } @override diff --git a/pubspec.lock b/pubspec.lock index 8bd9819..16cc25c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -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: diff --git a/pubspec.yaml b/pubspec.yaml index 775d811..b2ca9de 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -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