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;
public class AlbumBottomSheetViewModel extends AndroidViewModel {
private AlbumRepository albumRepository;
private ArtistRepository artistRepository;
private final AlbumRepository albumRepository;
private final ArtistRepository artistRepository;
private Album album;

View file

@ -11,9 +11,7 @@ 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.repository.AlbumRepository;
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;
@ -24,7 +22,7 @@ import retrofit2.Call;
import retrofit2.Callback;
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;
@ -45,7 +43,7 @@ public class AlbumCatalogueViewModel extends AndroidViewModel {
@Override
public void onLoadMedia(List<?> media) {
List<Album> liveAlbum = albumList.getValue();
if(liveAlbum == null) liveAlbum = new ArrayList<>();
if (liveAlbum == null) liveAlbum = new ArrayList<>();
liveAlbum.addAll(MappingUtil.mapAlbum((List<AlbumID3>) media));
albumList.setValue(liveAlbum);
@ -63,8 +61,8 @@ public class AlbumCatalogueViewModel extends AndroidViewModel {
.getAlbumList2("alphabeticalByName", size, offset, null, null)
.enqueue(new Callback<SubsonicResponse>() {
@Override
public void onResponse(Call<SubsonicResponse> call, retrofit2.Response<SubsonicResponse> response) {
if (response.body().getStatus().getValue().equals(ResponseStatus.OK)) {
public void onResponse(@NonNull Call<SubsonicResponse> call, @NonNull retrofit2.Response<SubsonicResponse> response) {
if (response.isSuccessful() && response.body() != null && response.body().getAlbumList2() != null) {
List<AlbumID3> albumList = new ArrayList<>();
albumList.addAll(response.body().getAlbumList2().getAlbums());
callback.onLoadMedia(albumList);
@ -72,7 +70,7 @@ public class AlbumCatalogueViewModel extends AndroidViewModel {
}
@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()));
}
});

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,33 +1,19 @@
package com.cappielloantonio.play.viewmodel;
import android.app.Application;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
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.Song;
import com.cappielloantonio.play.repository.AlbumRepository;
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 retrofit2.Call;
import retrofit2.Callback;
public class LoginViewModel extends AndroidViewModel {
private ServerRepository serverRepository;
private final ServerRepository serverRepository;
private Server toEdit = null;
public LoginViewModel(@NonNull Application application) {
@ -45,10 +31,9 @@ public class LoginViewModel extends AndroidViewModel {
}
public void deleteServer(Server server) {
if(server != null) {
if (server != null) {
serverRepository.delete(server);
}
else if(toEdit != null) {
} else if (toEdit != null) {
serverRepository.delete(toEdit);
}
}

View file

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

View file

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

View file

@ -1,31 +1,18 @@
package com.cappielloantonio.play.viewmodel;
import android.app.Application;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.model.Playlist;
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 retrofit2.Call;
import retrofit2.Callback;
public class PlaylistCatalogueViewModel extends AndroidViewModel {
private MutableLiveData<List<Playlist>> playlists;
private PlaylistRepository playlistRepository;
private String query = "";
private final PlaylistRepository playlistRepository;
public PlaylistCatalogueViewModel(@NonNull Application application) {
super(application);

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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