diff --git a/.idea/misc.xml b/.idea/misc.xml index 52bfddb8..dc6cacb8 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,7 @@ + @@ -40,7 +41,7 @@ - + diff --git a/app/src/main/java/com/cappielloantonio/play/repository/ArtistRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/ArtistRepository.java index f44ae902..2eac6e7e 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/ArtistRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/ArtistRepository.java @@ -31,7 +31,7 @@ public class ArtistRepository { } public MutableLiveData> getStarredArtists() { - MutableLiveData> starredArtists = new MutableLiveData<>(new ArrayList<>()); + MutableLiveData> starredArtists = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getAlbumSongListClient() @@ -54,7 +54,7 @@ public class ArtistRepository { } public MutableLiveData> getArtists(boolean random, int size) { - MutableLiveData> listLiveArtists = new MutableLiveData<>(new ArrayList<>()); + MutableLiveData> listLiveArtists = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getBrowsingClient() @@ -249,7 +249,7 @@ public class ArtistRepository { } public MutableLiveData> getArtistRandomSong(FragmentActivity fragmentActivity, Artist artist, int count) { - MutableLiveData> randomSongs = new MutableLiveData<>(new ArrayList()); + MutableLiveData> randomSongs = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getBrowsingClient() @@ -266,6 +266,7 @@ public class ArtistRepository { for (int index = 0; index < albums.size(); index++) { albumRepository.getAlbumTracks(albums.get(index).getId()).observe(fragmentActivity, songs -> { ArrayList liveSongs = randomSongs.getValue(); + if(liveSongs == null) liveSongs = new ArrayList<>(); Collections.shuffle(liveSongs); liveSongs.addAll(songs); randomSongs.setValue(liveSongs); @@ -309,6 +310,7 @@ public class ArtistRepository { private void addToMutableLiveData(MutableLiveData> liveData, Artist artist) { List liveArtists = liveData.getValue(); + if(liveArtists == null) liveArtists = new ArrayList<>(); liveArtists.add(artist); liveData.setValue(liveArtists); } diff --git a/app/src/main/java/com/cappielloantonio/play/repository/DownloadRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/DownloadRepository.java index d841cb10..e5989448 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/DownloadRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/DownloadRepository.java @@ -18,7 +18,6 @@ public class DownloadRepository { private static final String TAG = "QueueRepository"; private DownloadDao downloadDao; - private MutableLiveData> listLiveDownload = new MutableLiveData<>(new ArrayList<>()); public DownloadRepository(Application application) { AppDatabase database = AppDatabase.getInstance(application); diff --git a/app/src/main/java/com/cappielloantonio/play/repository/PlaylistRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/PlaylistRepository.java index 789bb4fb..2d756232 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/PlaylistRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/PlaylistRepository.java @@ -27,7 +27,7 @@ public class PlaylistRepository { } public MutableLiveData> getPlaylists(boolean random, int size) { - MutableLiveData> listLivePlaylists = new MutableLiveData<>(new ArrayList<>()); + MutableLiveData> listLivePlaylists = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getPlaylistClient() @@ -56,7 +56,7 @@ public class PlaylistRepository { } public MutableLiveData> getPlaylistSongs(String id) { - MutableLiveData> listLivePlaylistSongs = new MutableLiveData<>(new ArrayList<>()); + MutableLiveData> listLivePlaylistSongs = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getPlaylistClient() diff --git a/app/src/main/java/com/cappielloantonio/play/repository/SearchingRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/SearchingRepository.java index 85738bf5..83e56a54 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/SearchingRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/SearchingRepository.java @@ -111,7 +111,7 @@ public class SearchingRepository { } public MutableLiveData> getSuggestions(String query) { - MutableLiveData> suggestions = new MutableLiveData<>(new ArrayList()); + MutableLiveData> suggestions = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getSearchingClient() diff --git a/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java index b698e6be..92fc9e9f 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java @@ -87,7 +87,7 @@ public class SongRepository { } public MutableLiveData> getRandomSample(int number, Integer fromYear, Integer toYear) { - MutableLiveData> randomSongsSample = new MutableLiveData<>(new ArrayList<>()); + MutableLiveData> randomSongsSample = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getAlbumSongListClient() @@ -180,7 +180,7 @@ public class SongRepository { } public MutableLiveData> getSongsByGenre(String id) { - MutableLiveData> songsByGenre = new MutableLiveData<>(new ArrayList<>()); + MutableLiveData> songsByGenre = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getAlbumSongListClient() @@ -192,6 +192,7 @@ public class SongRepository { List newSongs = new ArrayList<>(MappingUtil.mapSong(response.body().getSongsByGenre().getSongs())); List songs = songsByGenre.getValue(); + if(songs == null) songs = new ArrayList<>(); songs.addAll(newSongs); Collections.shuffle(songs); @@ -212,10 +213,9 @@ public class SongRepository { } public MutableLiveData> getSongsByGenres(ArrayList genresId) { - MutableLiveData> songsByGenre = new MutableLiveData<>(new ArrayList<>()); + MutableLiveData> songsByGenre = new MutableLiveData<>(); for (String id : genresId) - App.getSubsonicClientInstance(application, false) .getAlbumSongListClient() .getSongsByGenre(id, 500, 0) diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumCatalogueViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumCatalogueViewModel.java index bf3a9d4b..a7c84e16 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumCatalogueViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumCatalogueViewModel.java @@ -45,6 +45,7 @@ public class AlbumCatalogueViewModel extends AndroidViewModel { @Override public void onLoadMedia(List media) { List liveAlbum = albumList.getValue(); + if(liveAlbum == null) liveAlbum = new ArrayList<>(); liveAlbum.addAll(MappingUtil.mapAlbum((List) media)); albumList.setValue(liveAlbum);