diff --git a/app/src/main/java/com/cappielloantonio/play/ui/dialog/PlaylistChooserDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/dialog/PlaylistChooserDialog.java index eb31a9b8..52666e10 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/dialog/PlaylistChooserDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/dialog/PlaylistChooserDialog.java @@ -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); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/dialog/PlaylistEditorDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/dialog/PlaylistEditorDialog.java index 76b83326..7f75074c 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/dialog/PlaylistEditorDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/dialog/PlaylistEditorDialog.java @@ -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; diff --git a/app/src/main/java/com/cappielloantonio/play/ui/dialog/RatingDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/dialog/RatingDialog.java index 26d63a26..d6fd37e7 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/dialog/RatingDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/dialog/RatingDialog.java @@ -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)); } } } diff --git a/app/src/main/java/com/cappielloantonio/play/ui/dialog/StarredSyncDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/dialog/StarredSyncDialog.java index 82c0c8e8..8833979a 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/dialog/StarredSyncDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/dialog/StarredSyncDialog.java @@ -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), diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumCatalogueFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumCatalogueFragment.java index 0d2812a3..e6a7cefe 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumCatalogueFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumCatalogueFragment.java @@ -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); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumListPageFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumListPageFragment.java index e224422d..acc4e6c2 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumListPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumListPageFragment.java @@ -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)); } } \ No newline at end of file diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumPageFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumPageFragment.java index 0cca05f6..a8b1d62d 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumPageFragment.java @@ -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") diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java index 2d168b4b..cd30f88c 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java @@ -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); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistListPageFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistListPageFragment.java index caa3a437..2236fd95 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistListPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistListPageFragment.java @@ -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)); } } \ No newline at end of file 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 9a098fe6..4845a195 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 @@ -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()); }); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java index f451df83..631626b3 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java @@ -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); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java index 53e218af..e62e603c 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java @@ -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) { diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/GenreCatalogueFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/GenreCatalogueFragment.java index b88bc8d5..3a445cc0 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/GenreCatalogueFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/GenreCatalogueFragment.java @@ -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); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java index 683a81dc..a85429a0 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java @@ -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 { diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java index a8b5a003..fc9334ef 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java @@ -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); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/LoginFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/LoginFragment.java index 0dd12823..5dc393dd 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/LoginFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/LoginFragment.java @@ -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); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerControllerFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerControllerFragment.java index 5fce1da8..b209e39c 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerControllerFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerControllerFragment.java @@ -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(); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerCoverFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerCoverFragment.java index 269e5f74..f74952e3 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerCoverFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerCoverFragment.java @@ -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( diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerLyricsFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerLyricsFragment.java index 6709ad5a..59a1f7d5 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerLyricsFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerLyricsFragment.java @@ -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); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerQueueFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerQueueFragment.java index 4d02059b..40ba90d5 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerQueueFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerQueueFragment.java @@ -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)); } diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlaylistCatalogueFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlaylistCatalogueFragment.java index f527784d..8ec1c09c 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlaylistCatalogueFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlaylistCatalogueFragment.java @@ -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 sortedList = new ArrayList<>(); List unsortedList = new ArrayList<>(playlists); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlaylistPageFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlaylistPageFragment.java index 1a5b7bea..303de3f2 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlaylistPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlaylistPageFragment.java @@ -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") diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java index 78c9701e..074bb600 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java @@ -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); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java index 000e1612..778f1773 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java @@ -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") diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java index ea7a9ddd..c8a2afdf 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java @@ -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 mediaItems = MappingUtil.mapMediaItems(requireContext(), songs, false); List downloads = MappingUtil.mapDownload(songs, null, null); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java index fa52712e..246f17c2 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java @@ -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); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java index 374a12ff..fbf7b2ad 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java @@ -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);