mirror of
https://github.com/antebudimir/tempus.git
synced 2025-12-31 17:43:32 +00:00
Return back to a limited number of top song in Artist page
This commit is contained in:
parent
59e0de7836
commit
cd7e3bf84f
3 changed files with 8 additions and 12 deletions
|
|
@ -14,9 +14,7 @@ import androidx.annotation.Nullable;
|
||||||
import androidx.core.view.ViewCompat;
|
import androidx.core.view.ViewCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
import androidx.recyclerview.widget.GridLayoutManager;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.PagerSnapHelper;
|
|
||||||
|
|
||||||
import com.cappielloantonio.play.App;
|
import com.cappielloantonio.play.App;
|
||||||
import com.cappielloantonio.play.R;
|
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.repository.QueueRepository;
|
||||||
import com.cappielloantonio.play.service.MusicPlayerRemote;
|
import com.cappielloantonio.play.service.MusicPlayerRemote;
|
||||||
import com.cappielloantonio.play.ui.activity.MainActivity;
|
import com.cappielloantonio.play.ui.activity.MainActivity;
|
||||||
import com.cappielloantonio.play.util.UIUtil;
|
|
||||||
import com.cappielloantonio.play.viewmodel.ArtistPageViewModel;
|
import com.cappielloantonio.play.viewmodel.ArtistPageViewModel;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -166,18 +163,14 @@ public class ArtistPageFragment extends Fragment {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initTopSongsView() {
|
private void initTopSongsView() {
|
||||||
bind.mostStreamedSongRecyclerView.setHasFixedSize(true);
|
bind.mostStreamedSongRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
|
||||||
|
|
||||||
songHorizontalAdapter = new SongHorizontalAdapter(activity, requireContext(), getChildFragmentManager());
|
songHorizontalAdapter = new SongHorizontalAdapter(activity, requireContext(), getChildFragmentManager());
|
||||||
bind.mostStreamedSongRecyclerView.setAdapter(songHorizontalAdapter);
|
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);
|
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);
|
songHorizontalAdapter.setItems(songs);
|
||||||
});
|
});
|
||||||
|
|
||||||
PagerSnapHelper pagerSnapHelper = new PagerSnapHelper();
|
|
||||||
pagerSnapHelper.attachToRecyclerView(bind.mostStreamedSongRecyclerView);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initAlbumsView() {
|
private void initAlbumsView() {
|
||||||
|
|
|
||||||
|
|
@ -53,8 +53,8 @@ public class ArtistPageViewModel extends AndroidViewModel {
|
||||||
return randomList;
|
return randomList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LiveData<List<Song>> getArtistTopSongList() {
|
public LiveData<List<Song>> getArtistTopSongList(int count) {
|
||||||
songList = artistRepository.getTopSongs(artist.getName(), 50);
|
songList = artistRepository.getTopSongs(artist.getName(), count);
|
||||||
return songList;
|
return songList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import androidx.lifecycle.MutableLiveData;
|
||||||
import com.cappielloantonio.play.model.Artist;
|
import com.cappielloantonio.play.model.Artist;
|
||||||
import com.cappielloantonio.play.model.Genre;
|
import com.cappielloantonio.play.model.Genre;
|
||||||
import com.cappielloantonio.play.model.Song;
|
import com.cappielloantonio.play.model.Song;
|
||||||
|
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.repository.SongRepository;
|
||||||
import com.cappielloantonio.play.util.MappingUtil;
|
import com.cappielloantonio.play.util.MappingUtil;
|
||||||
|
|
@ -20,6 +21,7 @@ import java.util.List;
|
||||||
|
|
||||||
public class SongListPageViewModel extends AndroidViewModel {
|
public class SongListPageViewModel extends AndroidViewModel {
|
||||||
private SongRepository songRepository;
|
private SongRepository songRepository;
|
||||||
|
private ArtistRepository artistRepository;
|
||||||
private DownloadRepository downloadRepository;
|
private DownloadRepository downloadRepository;
|
||||||
|
|
||||||
public String title;
|
public String title;
|
||||||
|
|
@ -37,6 +39,7 @@ public class SongListPageViewModel extends AndroidViewModel {
|
||||||
super(application);
|
super(application);
|
||||||
|
|
||||||
songRepository = new SongRepository(application);
|
songRepository = new SongRepository(application);
|
||||||
|
artistRepository = new ArtistRepository(application);
|
||||||
downloadRepository = new DownloadRepository(application);
|
downloadRepository = new DownloadRepository(application);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -57,7 +60,7 @@ public class SongListPageViewModel extends AndroidViewModel {
|
||||||
songList = songList = songRepository.getSongsByGenre(genre.getId());
|
songList = songList = songRepository.getSongsByGenre(genre.getId());
|
||||||
break;
|
break;
|
||||||
case Song.BY_ARTIST:
|
case Song.BY_ARTIST:
|
||||||
// songList = songRepository.getArtistListLiveTopSong(artist.getId());
|
songList = artistRepository.getTopSongs(artist.getName(), 50);
|
||||||
break;
|
break;
|
||||||
case Song.BY_GENRES:
|
case Song.BY_GENRES:
|
||||||
songList = songRepository.getSongsByGenres(filters);
|
songList = songRepository.getSongsByGenres(filters);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue