Fix some lint issues in viewModel

This commit is contained in:
CappielloAntonio 2021-09-02 14:12:13 +02:00
parent 589c3289d4
commit 984003ccd4
25 changed files with 76 additions and 149 deletions

View file

@ -16,8 +16,8 @@ import com.cappielloantonio.play.repository.ArtistRepository;
import java.util.List; import java.util.List;
public class AlbumBottomSheetViewModel extends AndroidViewModel { public class AlbumBottomSheetViewModel extends AndroidViewModel {
private AlbumRepository albumRepository; private final AlbumRepository albumRepository;
private ArtistRepository artistRepository; private final ArtistRepository artistRepository;
private Album album; private Album album;

View file

@ -11,9 +11,7 @@ import androidx.lifecycle.MutableLiveData;
import com.cappielloantonio.play.App; import com.cappielloantonio.play.App;
import com.cappielloantonio.play.interfaces.MediaCallback; import com.cappielloantonio.play.interfaces.MediaCallback;
import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.repository.AlbumRepository;
import com.cappielloantonio.play.subsonic.models.AlbumID3; import com.cappielloantonio.play.subsonic.models.AlbumID3;
import com.cappielloantonio.play.subsonic.models.ResponseStatus;
import com.cappielloantonio.play.subsonic.models.SubsonicResponse; import com.cappielloantonio.play.subsonic.models.SubsonicResponse;
import com.cappielloantonio.play.util.MappingUtil; import com.cappielloantonio.play.util.MappingUtil;
@ -24,7 +22,7 @@ import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
public class AlbumCatalogueViewModel extends AndroidViewModel { public class AlbumCatalogueViewModel extends AndroidViewModel {
private MutableLiveData<List<Album>> albumList = new MutableLiveData<>(new ArrayList<>()); private final MutableLiveData<List<Album>> albumList = new MutableLiveData<>(new ArrayList<>());
private int page = 0; private int page = 0;
@ -45,7 +43,7 @@ public class AlbumCatalogueViewModel extends AndroidViewModel {
@Override @Override
public void onLoadMedia(List<?> media) { public void onLoadMedia(List<?> media) {
List<Album> liveAlbum = albumList.getValue(); List<Album> liveAlbum = albumList.getValue();
if(liveAlbum == null) liveAlbum = new ArrayList<>(); if (liveAlbum == null) liveAlbum = new ArrayList<>();
liveAlbum.addAll(MappingUtil.mapAlbum((List<AlbumID3>) media)); liveAlbum.addAll(MappingUtil.mapAlbum((List<AlbumID3>) media));
albumList.setValue(liveAlbum); albumList.setValue(liveAlbum);
@ -63,8 +61,8 @@ public class AlbumCatalogueViewModel extends AndroidViewModel {
.getAlbumList2("alphabeticalByName", size, offset, null, null) .getAlbumList2("alphabeticalByName", size, offset, null, null)
.enqueue(new Callback<SubsonicResponse>() { .enqueue(new Callback<SubsonicResponse>() {
@Override @Override
public void onResponse(Call<SubsonicResponse> call, retrofit2.Response<SubsonicResponse> response) { public void onResponse(@NonNull Call<SubsonicResponse> call, @NonNull retrofit2.Response<SubsonicResponse> response) {
if (response.body().getStatus().getValue().equals(ResponseStatus.OK)) { if (response.isSuccessful() && response.body() != null && response.body().getAlbumList2() != null) {
List<AlbumID3> albumList = new ArrayList<>(); List<AlbumID3> albumList = new ArrayList<>();
albumList.addAll(response.body().getAlbumList2().getAlbums()); albumList.addAll(response.body().getAlbumList2().getAlbums());
callback.onLoadMedia(albumList); callback.onLoadMedia(albumList);
@ -72,7 +70,7 @@ public class AlbumCatalogueViewModel extends AndroidViewModel {
} }
@Override @Override
public void onFailure(Call<SubsonicResponse> call, Throwable t) { public void onFailure(@NonNull Call<SubsonicResponse> call, @NonNull Throwable t) {
callback.onError(new Exception(t.getMessage())); callback.onError(new Exception(t.getMessage()));
} }
}); });

View file

@ -10,7 +10,6 @@ import androidx.lifecycle.MutableLiveData;
import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.AlbumRepository;
import com.cappielloantonio.play.repository.DownloadRepository; import com.cappielloantonio.play.repository.DownloadRepository;
import com.cappielloantonio.play.util.MappingUtil; import com.cappielloantonio.play.util.MappingUtil;
@ -19,8 +18,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class AlbumListPageViewModel extends AndroidViewModel { public class AlbumListPageViewModel extends AndroidViewModel {
private AlbumRepository albumRepository; private final AlbumRepository albumRepository;
private DownloadRepository downloadRepository; private final DownloadRepository downloadRepository;
public String title; public String title;
public Artist artist; public Artist artist;
@ -39,32 +38,22 @@ public class AlbumListPageViewModel extends AndroidViewModel {
switch (title) { switch (title) {
case Album.RECENTLY_PLAYED: case Album.RECENTLY_PLAYED:
albumRepository.getAlbums("recent", 500, null, null).observe(activity, albums -> { albumRepository.getAlbums("recent", 500, null, null).observe(activity, albums -> albumList.setValue(albums));
albumList.setValue(albums);
});
break; break;
case Album.MOST_PLAYED: case Album.MOST_PLAYED:
albumRepository.getAlbums("frequent", 500, null, null).observe(activity, albums -> { albumRepository.getAlbums("frequent", 500, null, null).observe(activity, albums -> albumList.setValue(albums));
albumList.setValue(albums);
});
break; break;
case Album.RECENTLY_ADDED: case Album.RECENTLY_ADDED:
albumRepository.getAlbums("newest", 500, null, null).observe(activity, albums -> { albumRepository.getAlbums("newest", 500, null, null).observe(activity, albums -> albumList.setValue(albums));
albumList.setValue(albums);
});
break; break;
case Album.STARRED: case Album.STARRED:
albumList = albumRepository.getStarredAlbums(); albumList = albumRepository.getStarredAlbums();
break; break;
case Album.DOWNLOADED: case Album.DOWNLOADED:
downloadRepository.getLiveDownload().observe(activity, downloads -> { downloadRepository.getLiveDownload().observe(activity, downloads -> albumList.setValue(MappingUtil.mapDownloadToAlbum(downloads)));
albumList.setValue(MappingUtil.mapDownloadToAlbum(downloads));
});
break; break;
case Album.FROM_ARTIST: case Album.FROM_ARTIST:
downloadRepository.getLiveDownloadFromArtist(artist.getId()).observe(activity, downloads -> { downloadRepository.getLiveDownloadFromArtist(artist.getId()).observe(activity, downloads -> albumList.setValue(MappingUtil.mapDownloadToAlbum(downloads)));
albumList.setValue(MappingUtil.mapDownloadToAlbum(downloads));
});
break; break;
} }

View file

@ -14,16 +14,14 @@ import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.AlbumRepository;
import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.repository.ArtistRepository;
import com.cappielloantonio.play.repository.DownloadRepository; import com.cappielloantonio.play.repository.DownloadRepository;
import com.cappielloantonio.play.repository.SongRepository;
import com.cappielloantonio.play.util.MappingUtil; import com.cappielloantonio.play.util.MappingUtil;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.List; import java.util.List;
public class AlbumPageViewModel extends AndroidViewModel { public class AlbumPageViewModel extends AndroidViewModel {
private AlbumRepository albumRepository; private final AlbumRepository albumRepository;
private ArtistRepository artistRepository; private final ArtistRepository artistRepository;
private DownloadRepository downloadRepository; private final DownloadRepository downloadRepository;
private MutableLiveData<List<Song>> songLiveList = new MutableLiveData<>(); private MutableLiveData<List<Song>> songLiveList = new MutableLiveData<>();
@ -39,7 +37,7 @@ public class AlbumPageViewModel extends AndroidViewModel {
} }
public LiveData<List<Song>> getAlbumSongLiveList(FragmentActivity activity) { public LiveData<List<Song>> getAlbumSongLiveList(FragmentActivity activity) {
if(isOffline) { if (isOffline) {
downloadRepository.getLiveDownloadFromAlbum(album.getId()).observe(activity, downloads -> songLiveList.postValue(MappingUtil.mapDownloadToSong(downloads))); downloadRepository.getLiveDownloadFromAlbum(album.getId()).observe(activity, downloads -> songLiveList.postValue(MappingUtil.mapDownloadToSong(downloads)));
} else { } else {
songLiveList = albumRepository.getAlbumTracks(album.getId()); songLiveList = albumRepository.getAlbumTracks(album.getId());

View file

@ -7,10 +7,9 @@ import androidx.lifecycle.AndroidViewModel;
import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.AlbumRepository;
import com.cappielloantonio.play.repository.ArtistRepository;
public class ArtistBottomSheetViewModel extends AndroidViewModel { public class ArtistBottomSheetViewModel extends AndroidViewModel {
private AlbumRepository albumRepository; private final AlbumRepository albumRepository;
private Artist artist; private Artist artist;

View file

@ -10,10 +10,8 @@ import androidx.lifecycle.MutableLiveData;
import com.cappielloantonio.play.App; import com.cappielloantonio.play.App;
import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.repository.ArtistRepository;
import com.cappielloantonio.play.subsonic.models.ArtistID3; import com.cappielloantonio.play.subsonic.models.ArtistID3;
import com.cappielloantonio.play.subsonic.models.IndexID3; import com.cappielloantonio.play.subsonic.models.IndexID3;
import com.cappielloantonio.play.subsonic.models.ResponseStatus;
import com.cappielloantonio.play.subsonic.models.SubsonicResponse; import com.cappielloantonio.play.subsonic.models.SubsonicResponse;
import com.cappielloantonio.play.util.MappingUtil; import com.cappielloantonio.play.util.MappingUtil;
@ -24,7 +22,7 @@ import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
public class ArtistCatalogueViewModel extends AndroidViewModel { public class ArtistCatalogueViewModel extends AndroidViewModel {
private MutableLiveData<List<Artist>> artistList = new MutableLiveData<>(new ArrayList<>()); private final MutableLiveData<List<Artist>> artistList = new MutableLiveData<>(new ArrayList<>());
public ArtistCatalogueViewModel(@NonNull Application application) { public ArtistCatalogueViewModel(@NonNull Application application) {
super(application); super(application);
@ -40,8 +38,8 @@ public class ArtistCatalogueViewModel extends AndroidViewModel {
.getArtists() .getArtists()
.enqueue(new Callback<SubsonicResponse>() { .enqueue(new Callback<SubsonicResponse>() {
@Override @Override
public void onResponse(Call<SubsonicResponse> call, retrofit2.Response<SubsonicResponse> response) { public void onResponse(@NonNull Call<SubsonicResponse> call, @NonNull retrofit2.Response<SubsonicResponse> response) {
if (response.body().getStatus().getValue().equals(ResponseStatus.OK)) { if (response.isSuccessful() && response.body() != null && response.body().getArtists() != null) {
List<ArtistID3> artists = new ArrayList<>(); List<ArtistID3> artists = new ArrayList<>();
for (IndexID3 index : response.body().getArtists().getIndices()) { for (IndexID3 index : response.body().getArtists().getIndices()) {
@ -53,7 +51,7 @@ public class ArtistCatalogueViewModel extends AndroidViewModel {
} }
@Override @Override
public void onFailure(Call<SubsonicResponse> call, Throwable t) { public void onFailure(@NonNull Call<SubsonicResponse> call, @NonNull Throwable t) {
} }
}); });

View file

@ -21,8 +21,8 @@ import java.util.TreeSet;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class ArtistListPageViewModel extends AndroidViewModel { public class ArtistListPageViewModel extends AndroidViewModel {
private ArtistRepository artistRepository; private final ArtistRepository artistRepository;
private DownloadRepository downloadRepository; private final DownloadRepository downloadRepository;
public String title; public String title;

View file

@ -5,25 +5,18 @@ import android.app.Application;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.model.Song; import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.AlbumRepository;
import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.repository.ArtistRepository;
import com.cappielloantonio.play.repository.SongRepository;
import java.util.ArrayList;
import java.util.List; import java.util.List;
public class ArtistPageViewModel extends AndroidViewModel { public class ArtistPageViewModel extends AndroidViewModel {
private AlbumRepository albumRepository; private final AlbumRepository albumRepository;
private ArtistRepository artistRepository; private final ArtistRepository artistRepository;
private LiveData<List<Song>> songList = new MutableLiveData<>();
private LiveData<List<Album>> albumList = new MutableLiveData<>();
private LiveData<Artist> artistInfo = new MutableLiveData<>();
private Artist artist; private Artist artist;
@ -35,18 +28,15 @@ public class ArtistPageViewModel extends AndroidViewModel {
} }
public LiveData<List<Album>> getAlbumList() { public LiveData<List<Album>> getAlbumList() {
albumList = albumRepository.getArtistAlbums(artist.getId()); return albumRepository.getArtistAlbums(artist.getId());
return albumList;
} }
public LiveData<Artist> getArtistInfo(String id) { public LiveData<Artist> getArtistInfo(String id) {
artistInfo = artistRepository.getArtistFullInfo(id); return artistRepository.getArtistFullInfo(id);
return artistInfo;
} }
public LiveData<List<Song>> getArtistTopSongList(int count) { public LiveData<List<Song>> getArtistTopSongList(int count) {
songList = artistRepository.getTopSongs(artist.getName(), count); return artistRepository.getTopSongs(artist.getName(), count);
return songList;
} }
public Artist getArtist() { public Artist getArtist() {

View file

@ -32,9 +32,7 @@ public class DownloadViewModel extends AndroidViewModel {
} }
public LiveData<List<Artist>> getDownloadedArtists(LifecycleOwner owner, int size) { public LiveData<List<Artist>> getDownloadedArtists(LifecycleOwner owner, int size) {
downloadRepository.getLiveDownloadSample(size, true, false, false).observe(owner, downloads -> { downloadRepository.getLiveDownloadSample(size, true, false, false).observe(owner, downloads -> downloadedArtistSample.postValue(MappingUtil.mapDownloadToArtist(downloads)));
downloadedArtistSample.postValue(MappingUtil.mapDownloadToArtist(downloads));
});
return downloadedArtistSample; return downloadedArtistSample;
} }

View file

@ -13,10 +13,10 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class FilterViewModel extends AndroidViewModel { public class FilterViewModel extends AndroidViewModel {
private GenreRepository genreRepository; private final GenreRepository genreRepository;
private ArrayList<String> selectedFiltersID = new ArrayList<>(); private final ArrayList<String> selectedFiltersID = new ArrayList<>();
private ArrayList<String> selectedFilters = new ArrayList<>(); private final ArrayList<String> selectedFilters = new ArrayList<>();
public FilterViewModel(@NonNull Application application) { public FilterViewModel(@NonNull Application application) {
super(application); super(application);

View file

@ -12,9 +12,7 @@ import com.cappielloantonio.play.repository.GenreRepository;
import java.util.List; import java.util.List;
public class GenreCatalogueViewModel extends AndroidViewModel { public class GenreCatalogueViewModel extends AndroidViewModel {
private GenreRepository genreRepository; private final GenreRepository genreRepository;
private LiveData<List<Genre>> genreList;
public GenreCatalogueViewModel(@NonNull Application application) { public GenreCatalogueViewModel(@NonNull Application application) {
super(application); super(application);

View file

@ -10,11 +10,9 @@ import androidx.lifecycle.MutableLiveData;
import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.model.Download;
import com.cappielloantonio.play.model.Song; import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.AlbumRepository;
import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.repository.ArtistRepository;
import com.cappielloantonio.play.repository.DownloadRepository;
import com.cappielloantonio.play.repository.SongRepository; import com.cappielloantonio.play.repository.SongRepository;
import java.util.List; import java.util.List;

View file

@ -18,7 +18,6 @@ import com.cappielloantonio.play.repository.GenreRepository;
import com.cappielloantonio.play.repository.PlaylistRepository; import com.cappielloantonio.play.repository.PlaylistRepository;
import java.util.Calendar; import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;

View file

@ -1,33 +1,19 @@
package com.cappielloantonio.play.viewmodel; package com.cappielloantonio.play.viewmodel;
import android.app.Application; import android.app.Application;
import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.interfaces.MediaCallback;
import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Server; import com.cappielloantonio.play.model.Server;
import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.AlbumRepository;
import com.cappielloantonio.play.repository.ServerRepository; import com.cappielloantonio.play.repository.ServerRepository;
import com.cappielloantonio.play.subsonic.models.AlbumID3;
import com.cappielloantonio.play.subsonic.models.ResponseStatus;
import com.cappielloantonio.play.subsonic.models.SubsonicResponse;
import com.cappielloantonio.play.util.MappingUtil;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
public class LoginViewModel extends AndroidViewModel { public class LoginViewModel extends AndroidViewModel {
private ServerRepository serverRepository; private final ServerRepository serverRepository;
private Server toEdit = null; private Server toEdit = null;
public LoginViewModel(@NonNull Application application) { public LoginViewModel(@NonNull Application application) {
@ -45,10 +31,9 @@ public class LoginViewModel extends AndroidViewModel {
} }
public void deleteServer(Server server) { public void deleteServer(Server server) {
if(server != null) { if (server != null) {
serverRepository.delete(server); serverRepository.delete(server);
} } else if (toEdit != null) {
else if(toEdit != null) {
serverRepository.delete(toEdit); serverRepository.delete(toEdit);
} }
} }

View file

@ -10,7 +10,7 @@ import com.cappielloantonio.play.repository.QueueRepository;
public class MainViewModel extends AndroidViewModel { public class MainViewModel extends AndroidViewModel {
private static final String TAG = "SearchViewModel"; private static final String TAG = "SearchViewModel";
private Application application; private final Application application;
public MainViewModel(@NonNull Application application) { public MainViewModel(@NonNull Application application) {
super(application); super(application);

View file

@ -17,10 +17,10 @@ import java.util.List;
public class PlayerBottomSheetViewModel extends AndroidViewModel { public class PlayerBottomSheetViewModel extends AndroidViewModel {
private static final String TAG = "PlayerBottomSheetViewModel"; private static final String TAG = "PlayerBottomSheetViewModel";
private SongRepository songRepository; private final SongRepository songRepository;
private QueueRepository queueRepository; private final QueueRepository queueRepository;
private LiveData<List<Queue>> queueSong; private final LiveData<List<Queue>> queueSong;
public PlayerBottomSheetViewModel(@NonNull Application application) { public PlayerBottomSheetViewModel(@NonNull Application application) {
super(application); super(application);
@ -43,12 +43,14 @@ public class PlayerBottomSheetViewModel extends AndroidViewModel {
public void setFavorite() { public void setFavorite() {
Song song = MusicPlayerRemote.getCurrentSong(); Song song = MusicPlayerRemote.getCurrentSong();
if (song.isFavorite()) { if (song != null) {
songRepository.unstar(song.getId()); if (song.isFavorite()) {
song.setFavorite(false); songRepository.unstar(song.getId());
} else { song.setFavorite(false);
songRepository.star(song.getId()); } else {
song.setFavorite(true); songRepository.star(song.getId());
song.setFavorite(true);
}
} }
} }

View file

@ -1,31 +1,18 @@
package com.cappielloantonio.play.viewmodel; package com.cappielloantonio.play.viewmodel;
import android.app.Application; import android.app.Application;
import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.model.Playlist; import com.cappielloantonio.play.model.Playlist;
import com.cappielloantonio.play.repository.PlaylistRepository; import com.cappielloantonio.play.repository.PlaylistRepository;
import com.cappielloantonio.play.subsonic.models.ResponseStatus;
import com.cappielloantonio.play.subsonic.models.SubsonicResponse;
import com.cappielloantonio.play.util.MappingUtil;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
public class PlaylistCatalogueViewModel extends AndroidViewModel { public class PlaylistCatalogueViewModel extends AndroidViewModel {
private MutableLiveData<List<Playlist>> playlists; private final PlaylistRepository playlistRepository;
private PlaylistRepository playlistRepository;
private String query = "";
public PlaylistCatalogueViewModel(@NonNull Application application) { public PlaylistCatalogueViewModel(@NonNull Application application) {
super(application); super(application);

View file

@ -16,9 +16,9 @@ import java.util.Collections;
import java.util.List; import java.util.List;
public class PlaylistChooserViewModel extends AndroidViewModel { public class PlaylistChooserViewModel extends AndroidViewModel {
private PlaylistRepository playlistRepository; private final PlaylistRepository playlistRepository;
private MutableLiveData<List<Playlist>> playlists; private final MutableLiveData<List<Playlist>> playlists = new MutableLiveData<>(null);
private Song toAdd; private Song toAdd;
public PlaylistChooserViewModel(@NonNull Application application) { public PlaylistChooserViewModel(@NonNull Application application) {
@ -26,7 +26,8 @@ public class PlaylistChooserViewModel extends AndroidViewModel {
playlistRepository = new PlaylistRepository(application); playlistRepository = new PlaylistRepository(application);
playlists = playlistRepository.getPlaylists(false, -1); playlistRepository.getPlaylists(false, -1).observeForever(playlists::postValue);
} }
public LiveData<List<Playlist>> getPlaylistList() { public LiveData<List<Playlist>> getPlaylistList() {

View file

@ -20,7 +20,7 @@ import java.util.Objects;
public class PlaylistEditorViewModel extends AndroidViewModel { public class PlaylistEditorViewModel extends AndroidViewModel {
private static final String TAG = "PlaylistEditorViewModel"; private static final String TAG = "PlaylistEditorViewModel";
private PlaylistRepository playlistRepository; private final PlaylistRepository playlistRepository;
private Song toAdd; private Song toAdd;
private Playlist toEdit; private Playlist toEdit;
@ -88,8 +88,10 @@ public class PlaylistEditorViewModel extends AndroidViewModel {
List<Song> songs = songLiveList.getValue(); List<Song> songs = songLiveList.getValue();
ArrayList<String> ids = new ArrayList<>(); ArrayList<String> ids = new ArrayList<>();
for (Song song : songs) { if (songs != null && !songs.isEmpty()) {
ids.add(song.getId()); for (Song song : songs) {
ids.add(song.getId());
}
} }
return ids; return ids;

View file

@ -13,7 +13,7 @@ import com.cappielloantonio.play.repository.PlaylistRepository;
import java.util.List; import java.util.List;
public class PlaylistPageViewModel extends AndroidViewModel { public class PlaylistPageViewModel extends AndroidViewModel {
private PlaylistRepository playlistRepository; private final PlaylistRepository playlistRepository;
private Playlist playlist; private Playlist playlist;

View file

@ -14,9 +14,9 @@ import com.cappielloantonio.play.repository.ArtistRepository;
import com.cappielloantonio.play.repository.SongRepository; import com.cappielloantonio.play.repository.SongRepository;
public class RatingViewModel extends AndroidViewModel { public class RatingViewModel extends AndroidViewModel {
private SongRepository songRepository; private final SongRepository songRepository;
private AlbumRepository albumRepository; private final AlbumRepository albumRepository;
private ArtistRepository artistRepository; private final ArtistRepository artistRepository;
private Song song; private Song song;
private Album album; private Album album;

View file

@ -5,18 +5,12 @@ import android.app.Application;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.model.Genre;
import com.cappielloantonio.play.model.RecentSearch; import com.cappielloantonio.play.model.RecentSearch;
import com.cappielloantonio.play.model.Song; import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.AlbumRepository;
import com.cappielloantonio.play.repository.ArtistRepository;
import com.cappielloantonio.play.repository.GenreRepository;
import com.cappielloantonio.play.repository.SearchingRepository; import com.cappielloantonio.play.repository.SearchingRepository;
import com.cappielloantonio.play.repository.SongRepository;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -26,11 +20,7 @@ public class SearchViewModel extends AndroidViewModel {
private String query = ""; private String query = "";
private SearchingRepository searchingRepository; private final SearchingRepository searchingRepository;
private LiveData<List<Song>> searchSong = new MutableLiveData<>(new ArrayList<>());
private LiveData<List<Album>> searchAlbum = new MutableLiveData<>(new ArrayList<>());
private LiveData<List<Artist>> searchArtist = new MutableLiveData<>(new ArrayList<>());
public SearchViewModel(@NonNull Application application) { public SearchViewModel(@NonNull Application application) {
super(application); super(application);
@ -51,18 +41,15 @@ public class SearchViewModel extends AndroidViewModel {
} }
public LiveData<List<Song>> searchSong(String title) { public LiveData<List<Song>> searchSong(String title) {
searchSong = searchingRepository.getSearchedSongs(title); return searchingRepository.getSearchedSongs(title);
return searchSong;
} }
public LiveData<List<Album>> searchAlbum(String name) { public LiveData<List<Album>> searchAlbum(String name) {
searchAlbum = searchingRepository.getSearchedAlbums(name); return searchingRepository.getSearchedAlbums(name);
return searchAlbum;
} }
public LiveData<List<Artist>> searchArtist(String name) { public LiveData<List<Artist>> searchArtist(String name) {
searchArtist = searchingRepository.getSearchedArtists(name); return searchingRepository.getSearchedArtists(name);
return searchArtist;
} }
public void insertNewSearch(String search) { public void insertNewSearch(String search) {

View file

@ -6,14 +6,12 @@ import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.AndroidViewModel;
import com.cappielloantonio.play.interfaces.ScanCallback; import com.cappielloantonio.play.interfaces.ScanCallback;
import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.repository.ScanRepository; import com.cappielloantonio.play.repository.ScanRepository;
import com.cappielloantonio.play.repository.SongRepository;
public class SettingViewModel extends AndroidViewModel { public class SettingViewModel extends AndroidViewModel {
private static final String TAG = "SettingViewModel"; private static final String TAG = "SettingViewModel";
private ScanRepository scanRepository; private final ScanRepository scanRepository;
public SettingViewModel(@NonNull Application application) { public SettingViewModel(@NonNull Application application) {
super(application); super(application);

View file

@ -14,9 +14,9 @@ import com.cappielloantonio.play.repository.ArtistRepository;
import com.cappielloantonio.play.repository.SongRepository; import com.cappielloantonio.play.repository.SongRepository;
public class SongBottomSheetViewModel extends AndroidViewModel { public class SongBottomSheetViewModel extends AndroidViewModel {
private SongRepository songRepository; private final SongRepository songRepository;
private AlbumRepository albumRepository; private final AlbumRepository albumRepository;
private ArtistRepository artistRepository; private final ArtistRepository artistRepository;
private Song song; private Song song;

View file

@ -22,9 +22,9 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class SongListPageViewModel extends AndroidViewModel { public class SongListPageViewModel extends AndroidViewModel {
private SongRepository songRepository; private final SongRepository songRepository;
private ArtistRepository artistRepository; private final ArtistRepository artistRepository;
private DownloadRepository downloadRepository; private final DownloadRepository downloadRepository;
public String title; public String title;
public Genre genre; public Genre genre;