package com.cappielloantonio.play.viewmodel; 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 SongRepository songRepository; private AlbumRepository albumRepository; private ArtistRepository artistRepository; private List randomList = new ArrayList<>(); private LiveData> songList = new MutableLiveData<>(); private LiveData> albumList = new MutableLiveData<>(); private LiveData> artistList = new MutableLiveData<>(); private LiveData artistInfo = new MutableLiveData<>(); private Artist artist; public ArtistPageViewModel(@NonNull Application application) { super(application); songRepository = new SongRepository(application); albumRepository = new AlbumRepository(application); artistRepository = new ArtistRepository(application); } public LiveData> getAlbumList() { albumList = albumRepository.getArtistAlbums(artist.id); return albumList; } public LiveData getArtistInfo(String id) { artistInfo = artistRepository.getArtistFullInfo(id); return artistInfo; } public List getArtistRandomSongList() { // randomList = songRepository.getArtistListLiveRandomSong(artist.id); return randomList; } public LiveData> getArtistTopSongList() { songList = artistRepository.getTopSongs(artist.getName(), 50); return songList; } public Artist getArtist() { return artist; } public void setArtist(Artist artist) { this.artist = artist; } }