diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java index e1b658c8..fe71cc7f 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java @@ -14,9 +14,7 @@ import androidx.annotation.Nullable; import androidx.core.view.ViewCompat; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; -import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.PagerSnapHelper; import com.cappielloantonio.play.App; import com.cappielloantonio.play.R; @@ -31,7 +29,6 @@ import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.repository.QueueRepository; import com.cappielloantonio.play.service.MusicPlayerRemote; import com.cappielloantonio.play.ui.activity.MainActivity; -import com.cappielloantonio.play.util.UIUtil; import com.cappielloantonio.play.viewmodel.ArtistPageViewModel; import java.util.ArrayList; @@ -166,18 +163,14 @@ public class ArtistPageFragment extends Fragment { } private void initTopSongsView() { - bind.mostStreamedSongRecyclerView.setHasFixedSize(true); + bind.mostStreamedSongRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext())); songHorizontalAdapter = new SongHorizontalAdapter(activity, requireContext(), getChildFragmentManager()); bind.mostStreamedSongRecyclerView.setAdapter(songHorizontalAdapter); - artistPageViewModel.getArtistTopSongList().observe(requireActivity(), songs -> { + artistPageViewModel.getArtistTopSongList(10).observe(requireActivity(), songs -> { if (bind != null) bind.artistPageTopSongsSector.setVisibility(!songs.isEmpty() ? View.VISIBLE : View.GONE); - bind.mostStreamedSongRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), UIUtil.getSpanCount(songs.size(), 5), GridLayoutManager.HORIZONTAL, false)); songHorizontalAdapter.setItems(songs); }); - - PagerSnapHelper pagerSnapHelper = new PagerSnapHelper(); - pagerSnapHelper.attachToRecyclerView(bind.mostStreamedSongRecyclerView); } private void initAlbumsView() { diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/ArtistPageViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/ArtistPageViewModel.java index 204e7eb9..67d8bc84 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/ArtistPageViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/ArtistPageViewModel.java @@ -53,8 +53,8 @@ public class ArtistPageViewModel extends AndroidViewModel { return randomList; } - public LiveData> getArtistTopSongList() { - songList = artistRepository.getTopSongs(artist.getName(), 50); + public LiveData> getArtistTopSongList(int count) { + songList = artistRepository.getTopSongs(artist.getName(), count); return songList; } diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/SongListPageViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/SongListPageViewModel.java index a194cc5c..26497212 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/SongListPageViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/SongListPageViewModel.java @@ -11,6 +11,7 @@ import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Genre; import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.repository.DownloadRepository; import com.cappielloantonio.play.repository.SongRepository; import com.cappielloantonio.play.util.MappingUtil; @@ -20,6 +21,7 @@ import java.util.List; public class SongListPageViewModel extends AndroidViewModel { private SongRepository songRepository; + private ArtistRepository artistRepository; private DownloadRepository downloadRepository; public String title; @@ -37,6 +39,7 @@ public class SongListPageViewModel extends AndroidViewModel { super(application); songRepository = new SongRepository(application); + artistRepository = new ArtistRepository(application); downloadRepository = new DownloadRepository(application); } @@ -57,7 +60,7 @@ public class SongListPageViewModel extends AndroidViewModel { songList = songList = songRepository.getSongsByGenre(genre.getId()); break; case Song.BY_ARTIST: - // songList = songRepository.getArtistListLiveTopSong(artist.getId()); + songList = artistRepository.getTopSongs(artist.getName(), 50); break; case Song.BY_GENRES: songList = songRepository.getSongsByGenres(filters);