mirror of
https://github.com/antebudimir/tempus.git
synced 2025-12-31 17:43:32 +00:00
TEST: Passing observables from requireActivity () to getViewLifecycleOwner ()
This commit is contained in:
parent
4eca9cec74
commit
5f7239391b
27 changed files with 70 additions and 70 deletions
|
|
@ -82,7 +82,7 @@ public class PlaylistChooserDialog extends DialogFragment {
|
|||
playlistDialogHorizontalAdapter = new PlaylistDialogHorizontalAdapter(requireContext(), playlistChooserViewModel, this);
|
||||
bind.playlistDialogRecyclerView.setAdapter(playlistDialogHorizontalAdapter);
|
||||
|
||||
playlistChooserViewModel.getPlaylistList().observe(requireActivity(), playlists -> {
|
||||
playlistChooserViewModel.getPlaylistList().observe(getViewLifecycleOwner(), playlists -> {
|
||||
if (playlists != null) {
|
||||
if (playlists.size() > 0) {
|
||||
if (bind != null) bind.noPlaylistsCreatedTextView.setVisibility(View.GONE);
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ public class PlaylistEditorDialog extends DialogFragment {
|
|||
playlistDialogSongHorizontalAdapter = new PlaylistDialogSongHorizontalAdapter(requireContext());
|
||||
bind.playlistSongRecyclerView.setAdapter(playlistDialogSongHorizontalAdapter);
|
||||
|
||||
playlistEditorViewModel.getPlaylistSongLiveList().observe(requireActivity(), songs -> playlistDialogSongHorizontalAdapter.setItems(songs));
|
||||
playlistEditorViewModel.getPlaylistSongLiveList().observe(getViewLifecycleOwner(), songs -> playlistDialogSongHorizontalAdapter.setItems(songs));
|
||||
|
||||
new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN, ItemTouchHelper.LEFT) {
|
||||
int originalPosition = -1;
|
||||
|
|
|
|||
|
|
@ -63,11 +63,11 @@ public class RatingDialog extends DialogFragment {
|
|||
|
||||
private void setRating() {
|
||||
if (ratingViewModel.getSong() != null) {
|
||||
ratingViewModel.getLiveSong().observe(requireActivity(), song -> bind.ratingBar.setRating(song.getRating()));
|
||||
ratingViewModel.getLiveSong().observe(getViewLifecycleOwner(), song -> bind.ratingBar.setRating(song.getRating()));
|
||||
} else if (ratingViewModel.getAlbum() != null) {
|
||||
ratingViewModel.getLiveAlbum().observe(requireActivity(), album -> bind.ratingBar.setRating(/*album.getRating()*/ 0));
|
||||
ratingViewModel.getLiveAlbum().observe(getViewLifecycleOwner(), album -> bind.ratingBar.setRating(/*album.getRating()*/ 0));
|
||||
} else if (ratingViewModel.getArtist() != null) {
|
||||
ratingViewModel.getLiveArtist().observe(requireActivity(), artist -> bind.ratingBar.setRating(/*artist.getRating()*/ 0));
|
||||
ratingViewModel.getLiveArtist().observe(getViewLifecycleOwner(), artist -> bind.ratingBar.setRating(/*artist.getRating()*/ 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ public class StarredSyncDialog extends DialogFragment {
|
|||
|
||||
private void setButtonAction(Context context) {
|
||||
((AlertDialog) Objects.requireNonNull(getDialog())).getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(v -> {
|
||||
starredSyncViewModel.getStarredTracks(requireActivity()).observe(requireActivity(), songs -> {
|
||||
starredSyncViewModel.getStarredTracks(requireActivity()).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (songs != null) {
|
||||
DownloadUtil.getDownloadTracker(context).download(
|
||||
MappingUtil.mapMediaItems(context, songs, false),
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ public class AlbumCatalogueFragment extends Fragment {
|
|||
albumAdapter = new AlbumCatalogueAdapter(activity, requireContext());
|
||||
albumAdapter.setStateRestorationPolicy(RecyclerView.Adapter.StateRestorationPolicy.PREVENT_WHEN_EMPTY);
|
||||
bind.albumCatalogueRecyclerView.setAdapter(albumAdapter);
|
||||
albumCatalogueViewModel.getAlbumList().observe(requireActivity(), albums -> albumAdapter.setItems(albums));
|
||||
albumCatalogueViewModel.getAlbumList().observe(getViewLifecycleOwner(), albums -> albumAdapter.setItems(albums));
|
||||
|
||||
bind.albumCatalogueRecyclerView.setOnTouchListener((v, event) -> {
|
||||
hideKeyboard(v);
|
||||
|
|
|
|||
|
|
@ -101,6 +101,6 @@ public class AlbumListPageFragment extends Fragment {
|
|||
);
|
||||
|
||||
bind.albumListRecyclerView.setAdapter(albumHorizontalAdapter);
|
||||
albumListPageViewModel.getAlbumList(requireActivity()).observe(requireActivity(), albums -> albumHorizontalAdapter.setItems(albums));
|
||||
albumListPageViewModel.getAlbumList(requireActivity()).observe(getViewLifecycleOwner(), albums -> albumHorizontalAdapter.setItems(albums));
|
||||
}
|
||||
}
|
||||
|
|
@ -105,7 +105,7 @@ public class AlbumPageFragment extends Fragment {
|
|||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
if (item.getItemId() == R.id.action_download_album) {
|
||||
albumPageViewModel.getAlbumSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
|
||||
albumPageViewModel.getAlbumSongLiveList(requireActivity()).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (isVisible() && getActivity() != null) {
|
||||
DownloadUtil.getDownloadTracker(requireContext()).download(
|
||||
MappingUtil.mapMediaItems(requireContext(), songs, false),
|
||||
|
|
@ -144,7 +144,7 @@ public class AlbumPageFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initAlbumInfoTextButton() {
|
||||
bind.albumArtistLabel.setOnClickListener(v -> albumPageViewModel.getArtist().observe(requireActivity(), artist -> {
|
||||
bind.albumArtistLabel.setOnClickListener(v -> albumPageViewModel.getArtist().observe(getViewLifecycleOwner(), artist -> {
|
||||
if (artist != null) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable("artist_object", artist);
|
||||
|
|
@ -155,7 +155,7 @@ public class AlbumPageFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initMusicButton() {
|
||||
albumPageViewModel.getAlbumSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
|
||||
albumPageViewModel.getAlbumSongLiveList(requireActivity()).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (bind != null && !songs.isEmpty()) {
|
||||
bind.albumPagePlayButton.setOnClickListener(v -> {
|
||||
MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), songs, 0);
|
||||
|
|
@ -191,7 +191,7 @@ public class AlbumPageFragment extends Fragment {
|
|||
songHorizontalAdapter = new SongHorizontalAdapter(activity, requireContext(), false);
|
||||
bind.songRecyclerView.setAdapter(songHorizontalAdapter);
|
||||
|
||||
albumPageViewModel.getAlbumSongLiveList(requireActivity()).observe(requireActivity(), songs -> songHorizontalAdapter.setItems(songs));
|
||||
albumPageViewModel.getAlbumSongLiveList(requireActivity()).observe(getViewLifecycleOwner(), songs -> songHorizontalAdapter.setItems(songs));
|
||||
}
|
||||
|
||||
@SuppressLint("UnsafeOptInUsageError")
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ public class ArtistCatalogueFragment extends Fragment {
|
|||
artistAdapter = new ArtistCatalogueAdapter(activity, requireContext());
|
||||
artistAdapter.setStateRestorationPolicy(RecyclerView.Adapter.StateRestorationPolicy.PREVENT_WHEN_EMPTY);
|
||||
bind.artistCatalogueRecyclerView.setAdapter(artistAdapter);
|
||||
artistCatalogueViewModel.getArtistList().observe(requireActivity(), artistList -> artistAdapter.setItems(artistList));
|
||||
artistCatalogueViewModel.getArtistList().observe(getViewLifecycleOwner(), artistList -> artistAdapter.setItems(artistList));
|
||||
|
||||
bind.artistCatalogueRecyclerView.setOnTouchListener((v, event) -> {
|
||||
hideKeyboard(v);
|
||||
|
|
|
|||
|
|
@ -82,6 +82,6 @@ public class ArtistListPageFragment extends Fragment {
|
|||
|
||||
artistHorizontalAdapter = new ArtistHorizontalAdapter(requireContext(), artistListPageViewModel.title.equals(Artist.DOWNLOADED));
|
||||
bind.artistListRecyclerView.setAdapter(artistHorizontalAdapter);
|
||||
artistListPageViewModel.getArtistList(requireActivity()).observe(requireActivity(), artists -> artistHorizontalAdapter.setItems(artists));
|
||||
artistListPageViewModel.getArtistList(requireActivity()).observe(getViewLifecycleOwner(), artists -> artistHorizontalAdapter.setItems(artists));
|
||||
}
|
||||
}
|
||||
|
|
@ -114,7 +114,7 @@ public class ArtistPageFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initArtistInfo() {
|
||||
artistPageViewModel.getArtistInfo(artistPageViewModel.getArtist().getId()).observe(requireActivity(), artist -> {
|
||||
artistPageViewModel.getArtistInfo(artistPageViewModel.getArtist().getId()).observe(getViewLifecycleOwner(), artist -> {
|
||||
String normalizedBio = MusicUtil.forceReadableString(artist.getBio());
|
||||
|
||||
if (bind != null) bind.artistPageBioSector.setVisibility(!normalizedBio.trim().isEmpty() ? View.VISIBLE : View.GONE);
|
||||
|
|
@ -143,7 +143,7 @@ public class ArtistPageFragment extends Fragment {
|
|||
private void initPlayButtons() {
|
||||
bind.artistPageShuffleButton.setOnClickListener(v -> {
|
||||
ArtistRepository artistRepository = new ArtistRepository(App.getInstance());
|
||||
artistRepository.getArtistRandomSong(requireActivity(), artistPageViewModel.getArtist(), 20).observe(requireActivity(), songs -> {
|
||||
artistRepository.getArtistRandomSong(requireActivity(), artistPageViewModel.getArtist(), 20).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (songs.size() > 0) {
|
||||
MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), songs, 0);
|
||||
activity.setBottomSheetInPeek(true);
|
||||
|
|
@ -179,7 +179,7 @@ public class ArtistPageFragment extends Fragment {
|
|||
|
||||
songHorizontalAdapter = new SongHorizontalAdapter(activity, requireContext(), true);
|
||||
bind.mostStreamedSongRecyclerView.setAdapter(songHorizontalAdapter);
|
||||
artistPageViewModel.getArtistTopSongList(10).observe(requireActivity(), songs -> {
|
||||
artistPageViewModel.getArtistTopSongList(10).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (bind != null) bind.artistPageTopSongsSector.setVisibility(!songs.isEmpty() ? View.VISIBLE : View.GONE);
|
||||
songHorizontalAdapter.setItems(songs);
|
||||
});
|
||||
|
|
@ -190,7 +190,7 @@ public class ArtistPageFragment extends Fragment {
|
|||
|
||||
albumArtistPageOrSimilarAdapter = new AlbumArtistPageOrSimilarAdapter(requireContext());
|
||||
bind.albumsRecyclerView.setAdapter(albumArtistPageOrSimilarAdapter);
|
||||
artistPageViewModel.getAlbumList().observe(requireActivity(), albums -> {
|
||||
artistPageViewModel.getAlbumList().observe(getViewLifecycleOwner(), albums -> {
|
||||
if (bind != null) bind.artistPageAlbumsSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE);
|
||||
albumArtistPageOrSimilarAdapter.setItems(albums);
|
||||
});
|
||||
|
|
@ -205,7 +205,7 @@ public class ArtistPageFragment extends Fragment {
|
|||
|
||||
artistSimilarAdapter = new ArtistSimilarAdapter(requireContext());
|
||||
bind.similarArtistsRecyclerView.setAdapter(artistSimilarAdapter);
|
||||
artistPageViewModel.getArtistInfo(artistPageViewModel.getArtist().getId()).observe(requireActivity(), artist -> {
|
||||
artistPageViewModel.getArtistInfo(artistPageViewModel.getArtist().getId()).observe(getViewLifecycleOwner(), artist -> {
|
||||
if (bind != null) bind.similarArtistSector.setVisibility(!artist.getSimilarArtists().isEmpty() ? View.VISIBLE : View.GONE);
|
||||
artistSimilarAdapter.setItems(artist.getSimilarArtists());
|
||||
});
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ public class DownloadFragment extends Fragment {
|
|||
|
||||
downloadedArtistAdapter = new ArtistHorizontalAdapter(requireContext(), false);
|
||||
bind.downloadedArtistRecyclerView.setAdapter(downloadedArtistAdapter);
|
||||
downloadViewModel.getDownloadedArtists(requireActivity(), 20).observe(requireActivity(), artists -> {
|
||||
downloadViewModel.getDownloadedArtists(requireActivity(), 20).observe(getViewLifecycleOwner(), artists -> {
|
||||
if (artists == null) {
|
||||
if (bind != null) bind.downloadDownloadedArtistPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.downloadDownloadedArtistSector.setVisibility(View.GONE);
|
||||
|
|
@ -203,7 +203,7 @@ public class DownloadFragment extends Fragment {
|
|||
|
||||
downloadedAlbumAdapter = new AlbumHorizontalAdapter(requireContext(), true);
|
||||
bind.downloadedAlbumRecyclerView.setAdapter(downloadedAlbumAdapter);
|
||||
downloadViewModel.getDownloadedAlbums(requireActivity(), 20).observe(requireActivity(), albums -> {
|
||||
downloadViewModel.getDownloadedAlbums(requireActivity(), 20).observe(getViewLifecycleOwner(), albums -> {
|
||||
if (albums == null) {
|
||||
if (bind != null) bind.downloadDownloadedAlbumPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.downloadDownloadedAlbumSector.setVisibility(View.GONE);
|
||||
|
|
@ -235,7 +235,7 @@ public class DownloadFragment extends Fragment {
|
|||
|
||||
downloadedTrackAdapter = new SongHorizontalAdapter(activity, requireContext(), true);
|
||||
bind.downloadedTracksRecyclerView.setAdapter(downloadedTrackAdapter);
|
||||
downloadViewModel.getDownloadedTracks(requireActivity(), 20).observe(requireActivity(), songs -> {
|
||||
downloadViewModel.getDownloadedTracks(requireActivity(), 20).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (songs == null) {
|
||||
if (bind != null) bind.downloadDownloadedTracksPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.downloadDownloadedTracksSector.setVisibility(View.GONE);
|
||||
|
|
@ -268,7 +268,7 @@ public class DownloadFragment extends Fragment {
|
|||
|
||||
playlistHorizontalAdapter = new PlaylistHorizontalAdapter(activity, requireContext());
|
||||
bind.downloadedPlaylistRecyclerView.setAdapter(playlistHorizontalAdapter);
|
||||
downloadViewModel.getDownloadedPlaylists(requireActivity(), 5).observe(requireActivity(), playlists -> {
|
||||
downloadViewModel.getDownloadedPlaylists(requireActivity(), 5).observe(getViewLifecycleOwner(), playlists -> {
|
||||
if (playlists == null) {
|
||||
if (bind != null) bind.downloadDownloadedPlaylistPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.downloadDownloadedPlaylistSector.setVisibility(View.GONE);
|
||||
|
|
@ -282,7 +282,7 @@ public class DownloadFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initPlaceholder() {
|
||||
downloadViewModel.getDownloadedTracks(requireActivity(), 20).observe(requireActivity(), songs -> {
|
||||
downloadViewModel.getDownloadedTracks(requireActivity(), 20).observe(getViewLifecycleOwner(), songs -> {
|
||||
if ((songs != null && !songs.isEmpty())) {
|
||||
if (bind != null) bind.emptyDownloadLayout.setVisibility(View.GONE);
|
||||
if (bind != null) bind.fragmentDownloadNestedScrollView.setVisibility(View.VISIBLE);
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ public class FilterFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void setFilterChips() {
|
||||
filterViewModel.getGenreList().observe(requireActivity(), genres -> {
|
||||
filterViewModel.getGenreList().observe(getViewLifecycleOwner(), genres -> {
|
||||
bind.loadingProgressBar.setVisibility(View.GONE);
|
||||
bind.filterContainer.setVisibility(View.VISIBLE);
|
||||
for (Genre genre : genres) {
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ public class GenreCatalogueFragment extends Fragment {
|
|||
activity.navController.navigate(R.id.action_genreCatalogueFragment_to_songListPageFragment, bundle);
|
||||
});
|
||||
|
||||
genreCatalogueViewModel.getGenreList().observe(requireActivity(), genres -> genreCatalogueAdapter.setItems(genres));
|
||||
genreCatalogueViewModel.getGenreList().observe(getViewLifecycleOwner(), genres -> genreCatalogueAdapter.setItems(genres));
|
||||
|
||||
bind.genreCatalogueRecyclerView.setOnTouchListener((v, event) -> {
|
||||
hideKeyboard(v);
|
||||
|
|
|
|||
|
|
@ -256,7 +256,7 @@ public class HomeFragment extends Fragment {
|
|||
discoverSongAdapter = new DiscoverSongAdapter(activity, requireContext());
|
||||
bind.discoverSongViewPager.setAdapter(discoverSongAdapter);
|
||||
bind.discoverSongViewPager.setOffscreenPageLimit(1);
|
||||
homeViewModel.getDiscoverSongSample().observe(requireActivity(), songs -> {
|
||||
homeViewModel.getDiscoverSongSample().observe(getViewLifecycleOwner(), songs -> {
|
||||
if (songs == null) {
|
||||
if (bind != null) bind.homeDiscoveryPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.homeDiscoverSector.setVisibility(View.GONE);
|
||||
|
|
@ -277,7 +277,7 @@ public class HomeFragment extends Fragment {
|
|||
|
||||
similarMusicAdapter = new SimilarTrackAdapter(activity, requireContext());
|
||||
bind.similarTracksRecyclerView.setAdapter(similarMusicAdapter);
|
||||
homeViewModel.getStarredTracksSample().observe(requireActivity(), songs -> {
|
||||
homeViewModel.getStarredTracksSample().observe(getViewLifecycleOwner(), songs -> {
|
||||
if (songs == null) {
|
||||
if (bind != null) bind.homeSimilarTracksPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.homeSimilarTracksSector.setVisibility(View.GONE);
|
||||
|
|
@ -299,7 +299,7 @@ public class HomeFragment extends Fragment {
|
|||
|
||||
radioArtistAdapter = new ArtistAdapter((MainActivity) requireActivity(), requireContext());
|
||||
bind.radioArtistRecyclerView.setAdapter(radioArtistAdapter);
|
||||
homeViewModel.getStarredArtistsSample().observe(requireActivity(), artists -> {
|
||||
homeViewModel.getStarredArtistsSample().observe(getViewLifecycleOwner(), artists -> {
|
||||
if (artists == null) {
|
||||
if (bind != null) bind.homeRadioArtistPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.homeRadioArtistSector.setVisibility(View.GONE);
|
||||
|
|
@ -320,7 +320,7 @@ public class HomeFragment extends Fragment {
|
|||
|
||||
starredSongAdapter = new SongHorizontalAdapter(activity, requireContext(), true);
|
||||
bind.starredTracksRecyclerView.setAdapter(starredSongAdapter);
|
||||
homeViewModel.getStarredTracks(requireActivity()).observe(requireActivity(), songs -> {
|
||||
homeViewModel.getStarredTracks(requireActivity()).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (songs == null) {
|
||||
if (bind != null) bind.starredTracksPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.starredTracksSector.setVisibility(View.GONE);
|
||||
|
|
@ -352,7 +352,7 @@ public class HomeFragment extends Fragment {
|
|||
|
||||
starredAlbumAdapter = new AlbumHorizontalAdapter(requireContext(), false);
|
||||
bind.starredAlbumsRecyclerView.setAdapter(starredAlbumAdapter);
|
||||
homeViewModel.getStarredAlbums(requireActivity()).observe(requireActivity(), albums -> {
|
||||
homeViewModel.getStarredAlbums(requireActivity()).observe(getViewLifecycleOwner(), albums -> {
|
||||
if (albums == null) {
|
||||
if (bind != null) bind.starredAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.starredAlbumsSector.setVisibility(View.GONE);
|
||||
|
|
@ -384,7 +384,7 @@ public class HomeFragment extends Fragment {
|
|||
|
||||
starredArtistAdapter = new ArtistHorizontalAdapter(requireContext(), false);
|
||||
bind.starredArtistsRecyclerView.setAdapter(starredArtistAdapter);
|
||||
homeViewModel.getStarredArtists(requireActivity()).observe(requireActivity(), artists -> {
|
||||
homeViewModel.getStarredArtists(requireActivity()).observe(getViewLifecycleOwner(), artists -> {
|
||||
if (artists == null) {
|
||||
if (bind != null) bind.starredArtistsPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.starredArtistsSector.setVisibility(View.GONE);
|
||||
|
|
@ -416,7 +416,7 @@ public class HomeFragment extends Fragment {
|
|||
|
||||
newReleasesAlbumAdapter = new AlbumHorizontalAdapter(requireContext(), false);
|
||||
bind.newReleasesRecyclerView.setAdapter(newReleasesAlbumAdapter);
|
||||
homeViewModel.getRecentlyReleasedAlbums(requireActivity()).observe(requireActivity(), albums -> {
|
||||
homeViewModel.getRecentlyReleasedAlbums(requireActivity()).observe(getViewLifecycleOwner(), albums -> {
|
||||
if (albums == null) {
|
||||
if (bind != null) bind.homeNewReleasesPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.homeNewReleasesSector.setVisibility(View.GONE);
|
||||
|
|
@ -455,7 +455,7 @@ public class HomeFragment extends Fragment {
|
|||
activity.navController.navigate(R.id.action_homeFragment_to_songListPageFragment, bundle);
|
||||
});
|
||||
bind.yearsRecyclerView.setAdapter(yearAdapter);
|
||||
homeViewModel.getYearList(requireActivity()).observe(requireActivity(), years -> {
|
||||
homeViewModel.getYearList(requireActivity()).observe(getViewLifecycleOwner(), years -> {
|
||||
if (years == null) {
|
||||
if (bind != null) bind.homeFlashbackPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.homeFlashbackSector.setVisibility(View.GONE);
|
||||
|
|
@ -477,7 +477,7 @@ public class HomeFragment extends Fragment {
|
|||
|
||||
mostPlayedAlbumAdapter = new AlbumAdapter(requireContext());
|
||||
bind.mostPlayedAlbumsRecyclerView.setAdapter(mostPlayedAlbumAdapter);
|
||||
homeViewModel.getMostPlayedAlbums(requireActivity()).observe(requireActivity(), albums -> {
|
||||
homeViewModel.getMostPlayedAlbums(requireActivity()).observe(getViewLifecycleOwner(), albums -> {
|
||||
if (albums == null) {
|
||||
if (bind != null) bind.homeMostPlayedAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.homeMostPlayedAlbumsSector.setVisibility(View.GONE);
|
||||
|
|
@ -500,7 +500,7 @@ public class HomeFragment extends Fragment {
|
|||
|
||||
recentlyPlayedAlbumAdapter = new AlbumAdapter(requireContext());
|
||||
bind.recentlyPlayedAlbumsRecyclerView.setAdapter(recentlyPlayedAlbumAdapter);
|
||||
homeViewModel.getRecentlyPlayedAlbumList(requireActivity()).observe(requireActivity(), albums -> {
|
||||
homeViewModel.getRecentlyPlayedAlbumList(requireActivity()).observe(getViewLifecycleOwner(), albums -> {
|
||||
if (albums == null) {
|
||||
if (bind != null) bind.homeRecentlyPlayedAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.homeRecentlyPlayedAlbumsSector.setVisibility(View.GONE);
|
||||
|
|
@ -522,7 +522,7 @@ public class HomeFragment extends Fragment {
|
|||
|
||||
recentlyAddedAlbumAdapter = new AlbumAdapter(requireContext());
|
||||
bind.recentlyAddedAlbumsRecyclerView.setAdapter(recentlyAddedAlbumAdapter);
|
||||
homeViewModel.getMostRecentlyAddedAlbums(requireActivity()).observe(requireActivity(), albums -> {
|
||||
homeViewModel.getMostRecentlyAddedAlbums(requireActivity()).observe(getViewLifecycleOwner(), albums -> {
|
||||
if (albums == null) {
|
||||
if (bind != null) bind.homeRecentlyAddedAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.homeRecentlyAddedAlbumsSector.setVisibility(View.GONE);
|
||||
|
|
@ -539,7 +539,7 @@ public class HomeFragment extends Fragment {
|
|||
}
|
||||
|
||||
public void initPinnedPlaylistsView() {
|
||||
homeViewModel.getPinnedPlaylistList(requireActivity(), 5, true).observe(requireActivity(), playlists -> {
|
||||
homeViewModel.getPinnedPlaylistList(requireActivity(), 5, true).observe(getViewLifecycleOwner(), playlists -> {
|
||||
if (bind != null && playlists != null) {
|
||||
for (Playlist playlist : playlists) {
|
||||
int playlistViewHashCode = playlist.getId().hashCode();
|
||||
|
|
@ -558,7 +558,7 @@ public class HomeFragment extends Fragment {
|
|||
SongHorizontalAdapter trackAdapter = new SongHorizontalAdapter(activity, requireContext(), true);
|
||||
genericPlaylistRecyclerView.setAdapter(trackAdapter);
|
||||
|
||||
homeViewModel.getPlaylistSongLiveList(playlist.getId()).observe(requireActivity(), songs -> {
|
||||
homeViewModel.getPlaylistSongLiveList(playlist.getId()).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (songs.size() > 0) {
|
||||
int songsNumber = Math.min(20, songs.size());
|
||||
|
||||
|
|
@ -602,7 +602,7 @@ public class HomeFragment extends Fragment {
|
|||
podcastEpisodeAdapter = new PodcastEpisodeAdapter(activity, requireContext());
|
||||
bind.newestPodcastsViewPager.setAdapter(podcastEpisodeAdapter);
|
||||
bind.newestPodcastsViewPager.setOffscreenPageLimit(1);
|
||||
homeViewModel.getNewestPodcastEpisodes(requireActivity()).observe(requireActivity(), podcastEpisodes -> {
|
||||
homeViewModel.getNewestPodcastEpisodes(requireActivity()).observe(getViewLifecycleOwner(), podcastEpisodes -> {
|
||||
if (podcastEpisodes == null) {
|
||||
if (bind != null) bind.homeNewestPodcastsSector.setVisibility(View.GONE);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ public class LibraryFragment extends Fragment {
|
|||
|
||||
albumAdapter = new AlbumAdapter(requireContext());
|
||||
bind.albumRecyclerView.setAdapter(albumAdapter);
|
||||
libraryViewModel.getAlbumSample().observe(requireActivity(), albums -> {
|
||||
libraryViewModel.getAlbumSample().observe(getViewLifecycleOwner(), albums -> {
|
||||
if (albums == null) {
|
||||
if (bind != null) bind.libraryAlbumPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.libraryAlbumSector.setVisibility(View.GONE);
|
||||
|
|
@ -167,7 +167,7 @@ public class LibraryFragment extends Fragment {
|
|||
|
||||
artistAdapter = new ArtistAdapter((MainActivity) requireActivity(), requireContext());
|
||||
bind.artistRecyclerView.setAdapter(artistAdapter);
|
||||
libraryViewModel.getArtistSample().observe(requireActivity(), artists -> {
|
||||
libraryViewModel.getArtistSample().observe(getViewLifecycleOwner(), artists -> {
|
||||
if (artists == null) {
|
||||
if (bind != null) bind.libraryArtistPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.libraryArtistSector.setVisibility(View.GONE);
|
||||
|
|
@ -195,7 +195,7 @@ public class LibraryFragment extends Fragment {
|
|||
activity.navController.navigate(R.id.action_libraryFragment_to_songListPageFragment, bundle);
|
||||
});
|
||||
bind.genreRecyclerView.setAdapter(genreAdapter);
|
||||
libraryViewModel.getGenreSample().observe(requireActivity(), genres -> {
|
||||
libraryViewModel.getGenreSample().observe(getViewLifecycleOwner(), genres -> {
|
||||
if (genres == null) {
|
||||
if (bind != null) bind.libraryGenrePlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.libraryGenresSector.setVisibility(View.GONE);
|
||||
|
|
@ -217,7 +217,7 @@ public class LibraryFragment extends Fragment {
|
|||
|
||||
playlistHorizontalAdapter = new PlaylistHorizontalAdapter(activity, requireContext());
|
||||
bind.playlistRecyclerView.setAdapter(playlistHorizontalAdapter);
|
||||
libraryViewModel.getPlaylistSample().observe(requireActivity(), playlists -> {
|
||||
libraryViewModel.getPlaylistSample().observe(getViewLifecycleOwner(), playlists -> {
|
||||
if (playlists == null) {
|
||||
if (bind != null) bind.libraryPlaylistPlaceholder.placeholder.setVisibility(View.VISIBLE);
|
||||
if (bind != null) bind.libraryPlaylistSector.setVisibility(View.GONE);
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public class LoginFragment extends Fragment {
|
|||
|
||||
serverAdapter = new ServerAdapter(activity, requireContext());
|
||||
bind.serverListRecyclerView.setAdapter(serverAdapter);
|
||||
loginViewModel.getServerList().observe(requireActivity(), servers -> {
|
||||
loginViewModel.getServerList().observe(getViewLifecycleOwner(), servers -> {
|
||||
if (servers.size() > 0) {
|
||||
if (bind != null) bind.noServerAddedTextView.setVisibility(View.GONE);
|
||||
if (bind != null) bind.serverListRecyclerView.setVisibility(View.VISIBLE);
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@ public class PlayerControllerFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initMediaListenable() {
|
||||
playerBottomSheetViewModel.getLiveMedia().observe(requireActivity(), media -> {
|
||||
playerBottomSheetViewModel.getLiveMedia().observe(getViewLifecycleOwner(), media -> {
|
||||
if (media != null) {
|
||||
buttonFavorite.setChecked(media.isStarred());
|
||||
buttonFavorite.setOnClickListener(v -> playerBottomSheetViewModel.setFavorite(requireContext(), media));
|
||||
|
|
@ -268,7 +268,7 @@ public class PlayerControllerFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initArtistLabelButton() {
|
||||
playerBottomSheetViewModel.getLiveArtist().observe(requireActivity(), artist -> {
|
||||
playerBottomSheetViewModel.getLiveArtist().observe(getViewLifecycleOwner(), artist -> {
|
||||
if (artist != null) {
|
||||
playerArtistNameLabel.setOnClickListener(view -> {
|
||||
Bundle bundle = new Bundle();
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ public class PlayerCoverFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initInnerButton() {
|
||||
playerBottomSheetViewModel.getLiveMedia().observe(requireActivity(), song -> {
|
||||
playerBottomSheetViewModel.getLiveMedia().observe(getViewLifecycleOwner(), song -> {
|
||||
if (song != null && bind != null) {
|
||||
bind.innerButtonTopLeft.setOnClickListener(view -> {
|
||||
DownloadUtil.getDownloadTracker(requireContext()).download(
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public class PlayerLyricsFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initLyrics() {
|
||||
playerBottomSheetViewModel.getLiveLyrics().observe(requireActivity(), lyrics -> {
|
||||
playerBottomSheetViewModel.getLiveLyrics().observe(getViewLifecycleOwner(), lyrics -> {
|
||||
if (bind != null) {
|
||||
if (lyrics == null || lyrics.trim().equals("")) {
|
||||
bind.nowPlayingSongLyricsTextView.setVisibility(View.GONE);
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ public class PlayerQueueFragment extends Fragment {
|
|||
|
||||
playerSongQueueAdapter = new PlayerSongQueueAdapter(requireContext());
|
||||
bind.playerQueueRecyclerView.setAdapter(playerSongQueueAdapter);
|
||||
playerBottomSheetViewModel.getQueueSong().observe(requireActivity(), queue -> {
|
||||
playerBottomSheetViewModel.getQueueSong().observe(getViewLifecycleOwner(), queue -> {
|
||||
if (queue != null) {
|
||||
playerSongQueueAdapter.setItems(MappingUtil.mapQueue(queue));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,8 +108,8 @@ public class PlaylistCatalogueFragment extends Fragment {
|
|||
bind.playlistCatalogueRecyclerView.setAdapter(playlistHorizontalAdapter);
|
||||
|
||||
if (getActivity() != null) {
|
||||
playlistCatalogueViewModel.getPlaylistList(requireActivity()).observe(requireActivity(), playlists ->
|
||||
playlistCatalogueViewModel.getPinnedPlaylistList(requireActivity()).observe(requireActivity(),
|
||||
playlistCatalogueViewModel.getPlaylistList(requireActivity()).observe(getViewLifecycleOwner(), playlists ->
|
||||
playlistCatalogueViewModel.getPinnedPlaylistList(requireActivity()).observe(getViewLifecycleOwner(),
|
||||
pinnedPlaylists -> {
|
||||
List<Playlist> sortedList = new ArrayList<>();
|
||||
List<Playlist> unsortedList = new ArrayList<>(playlists);
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ public class PlaylistPageFragment extends Fragment {
|
|||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
if (item.getItemId() == R.id.action_download_playlist) {
|
||||
playlistPageViewModel.getPlaylistSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
|
||||
playlistPageViewModel.getPlaylistSongLiveList(requireActivity()).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (isVisible() && getActivity() != null) {
|
||||
DownloadUtil.getDownloadTracker(requireContext()).download(
|
||||
MappingUtil.mapMediaItems(requireContext(), songs, false),
|
||||
|
|
@ -129,7 +129,7 @@ public class PlaylistPageFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initMenuOption(Menu menu) {
|
||||
playlistPageViewModel.isPinned(requireActivity()).observe(requireActivity(), isPinned -> {
|
||||
playlistPageViewModel.isPinned(requireActivity()).observe(getViewLifecycleOwner(), isPinned -> {
|
||||
menu.findItem(R.id.action_unpin_playlist).setVisible(isPinned);
|
||||
menu.findItem(R.id.action_pin_playlist).setVisible(!isPinned);
|
||||
});
|
||||
|
|
@ -160,7 +160,7 @@ public class PlaylistPageFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initMusicButton() {
|
||||
playlistPageViewModel.getPlaylistSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
|
||||
playlistPageViewModel.getPlaylistSongLiveList(requireActivity()).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (bind != null) {
|
||||
bind.playlistPagePlayButton.setOnClickListener(v -> {
|
||||
MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), songs, 0);
|
||||
|
|
@ -177,7 +177,7 @@ public class PlaylistPageFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initBackCover() {
|
||||
playlistPageViewModel.getPlaylistSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
|
||||
playlistPageViewModel.getPlaylistSongLiveList(requireActivity()).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (bind != null) {
|
||||
Collections.shuffle(songs);
|
||||
|
||||
|
|
@ -219,7 +219,7 @@ public class PlaylistPageFragment extends Fragment {
|
|||
songHorizontalAdapter = new SongHorizontalAdapter(activity, requireContext(), true);
|
||||
bind.songRecyclerView.setAdapter(songHorizontalAdapter);
|
||||
|
||||
playlistPageViewModel.getPlaylistSongLiveList(requireActivity()).observe(requireActivity(), songs -> songHorizontalAdapter.setItems(songs));
|
||||
playlistPageViewModel.getPlaylistSongLiveList(requireActivity()).observe(getViewLifecycleOwner(), songs -> songHorizontalAdapter.setItems(songs));
|
||||
}
|
||||
|
||||
@SuppressLint("UnsafeOptInUsageError")
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ public class SearchFragment extends Fragment {
|
|||
|
||||
bind.persistentSearchView.setOnSearchQueryChangeListener((searchView, oldQuery, newQuery) -> {
|
||||
if (!newQuery.trim().equals("") && newQuery.trim().length() > 1) {
|
||||
searchViewModel.getSearchSuggestion(newQuery).observe(requireActivity(), suggestions -> searchView.setSuggestions(SuggestionCreationUtil.asRegularSearchSuggestions(MusicUtil.getReadableStrings(suggestions)), false));
|
||||
searchViewModel.getSearchSuggestion(newQuery).observe(getViewLifecycleOwner(), suggestions -> searchView.setSuggestions(SuggestionCreationUtil.asRegularSearchSuggestions(MusicUtil.getReadableStrings(suggestions)), false));
|
||||
} else {
|
||||
setSuggestions();
|
||||
}
|
||||
|
|
@ -179,19 +179,19 @@ public class SearchFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void performSearch(String query) {
|
||||
searchViewModel.searchArtist(query).observe(requireActivity(), artists -> {
|
||||
searchViewModel.searchArtist(query).observe(getViewLifecycleOwner(), artists -> {
|
||||
if (bind != null)
|
||||
bind.searchArtistSector.setVisibility(!artists.isEmpty() ? View.VISIBLE : View.GONE);
|
||||
artistAdapter.setItems(artists);
|
||||
});
|
||||
|
||||
searchViewModel.searchAlbum(query).observe(requireActivity(), albums -> {
|
||||
searchViewModel.searchAlbum(query).observe(getViewLifecycleOwner(), albums -> {
|
||||
if (bind != null)
|
||||
bind.searchAlbumSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE);
|
||||
albumAdapter.setItems(albums);
|
||||
});
|
||||
|
||||
searchViewModel.searchSong(query).observe(requireActivity(), songs -> {
|
||||
searchViewModel.searchSong(query).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (bind != null)
|
||||
bind.searchSongSector.setVisibility(!songs.isEmpty() ? View.VISIBLE : View.GONE);
|
||||
songHorizontalAdapter.setItems(songs);
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ public class SongListPageFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void initButtons() {
|
||||
songListPageViewModel.getSongList(requireActivity()).observe(requireActivity(), songs -> {
|
||||
songListPageViewModel.getSongList(requireActivity()).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (bind != null) {
|
||||
bind.songListShuffleImageView.setOnClickListener(v -> {
|
||||
Collections.shuffle(songs);
|
||||
|
|
@ -165,7 +165,7 @@ public class SongListPageFragment extends Fragment {
|
|||
|
||||
songHorizontalAdapter = new SongHorizontalAdapter(activity, requireContext(), true);
|
||||
bind.songListRecyclerView.setAdapter(songHorizontalAdapter);
|
||||
songListPageViewModel.getSongList(requireActivity()).observe(requireActivity(), songs -> songHorizontalAdapter.setItems(songs));
|
||||
songListPageViewModel.getSongList(requireActivity()).observe(getViewLifecycleOwner(), songs -> songHorizontalAdapter.setItems(songs));
|
||||
}
|
||||
|
||||
@SuppressLint("UnsafeOptInUsageError")
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements
|
|||
TextView playRandom = view.findViewById(R.id.play_random_text_view);
|
||||
playRandom.setOnClickListener(v -> {
|
||||
AlbumRepository albumRepository = new AlbumRepository(App.getInstance());
|
||||
albumRepository.getAlbumTracks(album.getId()).observe(requireActivity(), songs -> {
|
||||
albumRepository.getAlbumTracks(album.getId()).observe(getViewLifecycleOwner(), songs -> {
|
||||
Collections.shuffle(songs);
|
||||
|
||||
MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), songs, 0);
|
||||
|
|
@ -138,7 +138,7 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements
|
|||
});
|
||||
|
||||
TextView playNext = view.findViewById(R.id.play_next_text_view);
|
||||
playNext.setOnClickListener(v -> albumBottomSheetViewModel.getAlbumTracks().observe(requireActivity(), songs -> {
|
||||
playNext.setOnClickListener(v -> albumBottomSheetViewModel.getAlbumTracks().observe(getViewLifecycleOwner(), songs -> {
|
||||
MediaManager.enqueue(mediaBrowserListenableFuture, requireContext(), songs, true);
|
||||
((MainActivity) requireActivity()).setBottomSheetInPeek(true);
|
||||
|
||||
|
|
@ -146,7 +146,7 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements
|
|||
}));
|
||||
|
||||
TextView addToQueue = view.findViewById(R.id.add_to_queue_text_view);
|
||||
addToQueue.setOnClickListener(v -> albumBottomSheetViewModel.getAlbumTracks().observe(requireActivity(), songs -> {
|
||||
addToQueue.setOnClickListener(v -> albumBottomSheetViewModel.getAlbumTracks().observe(getViewLifecycleOwner(), songs -> {
|
||||
MediaManager.enqueue(mediaBrowserListenableFuture, requireContext(), songs, false);
|
||||
((MainActivity) requireActivity()).setBottomSheetInPeek(true);
|
||||
|
||||
|
|
@ -156,7 +156,7 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements
|
|||
TextView downloadAll = view.findViewById(R.id.download_all_text_view);
|
||||
TextView removeAll = view.findViewById(R.id.remove_all_text_view);
|
||||
|
||||
albumBottomSheetViewModel.getAlbumTracks().observe(requireActivity(), songs -> {
|
||||
albumBottomSheetViewModel.getAlbumTracks().observe(getViewLifecycleOwner(), songs -> {
|
||||
List<MediaItem> mediaItems = MappingUtil.mapMediaItems(requireContext(), songs, false);
|
||||
List<Download> downloads = MappingUtil.mapDownload(songs, null, null);
|
||||
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ public class ArtistBottomSheetDialog extends BottomSheetDialogFragment implement
|
|||
TextView playRandom = view.findViewById(R.id.play_random_text_view);
|
||||
playRandom.setOnClickListener(v -> {
|
||||
ArtistRepository artistRepository = new ArtistRepository(App.getInstance());
|
||||
artistRepository.getArtistRandomSong(requireActivity(), artist, 20).observe(requireActivity(), songs -> {
|
||||
artistRepository.getArtistRandomSong(requireActivity(), artist, 20).observe(getViewLifecycleOwner(), songs -> {
|
||||
if (songs.size() > 0) {
|
||||
MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), songs, 0);
|
||||
((MainActivity) requireActivity()).setBottomSheetInPeek(true);
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements
|
|||
});
|
||||
|
||||
TextView goToAlbum = view.findViewById(R.id.go_to_album_text_view);
|
||||
goToAlbum.setOnClickListener(v -> songBottomSheetViewModel.getAlbum().observe(requireActivity(), album -> {
|
||||
goToAlbum.setOnClickListener(v -> songBottomSheetViewModel.getAlbum().observe(getViewLifecycleOwner(), album -> {
|
||||
if (album != null) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable("album_object", album);
|
||||
|
|
@ -200,7 +200,7 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements
|
|||
}));
|
||||
|
||||
TextView goToArtist = view.findViewById(R.id.go_to_artist_text_view);
|
||||
goToArtist.setOnClickListener(v -> songBottomSheetViewModel.getArtist().observe(requireActivity(), artist -> {
|
||||
goToArtist.setOnClickListener(v -> songBottomSheetViewModel.getArtist().observe(getViewLifecycleOwner(), artist -> {
|
||||
if (artist != null) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable("artist_object", artist);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue