TEST: Passing observables from requireActivity () to getViewLifecycleOwner ()

This commit is contained in:
antonio 2022-08-26 18:54:14 +02:00
parent 4eca9cec74
commit 5f7239391b
27 changed files with 70 additions and 70 deletions

View file

@ -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);

View file

@ -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;

View file

@ -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));
}
}
}

View file

@ -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),

View file

@ -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);

View file

@ -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));
}
}

View file

@ -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")

View file

@ -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);

View file

@ -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));
}
}

View file

@ -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());
});

View file

@ -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);

View file

@ -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) {

View file

@ -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);

View file

@ -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 {

View file

@ -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);

View file

@ -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);

View file

@ -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();

View file

@ -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(

View file

@ -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);

View file

@ -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));
}

View file

@ -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);

View file

@ -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")

View file

@ -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);

View file

@ -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")

View file

@ -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);

View file

@ -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);

View file

@ -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);