mirror of
https://github.com/antebudimir/tempus.git
synced 2026-01-01 01:53:31 +00:00
Fix app crash related to lifecycle
This commit is contained in:
parent
d2a80c064c
commit
11c7d3fa73
4 changed files with 22 additions and 27 deletions
|
|
@ -93,7 +93,9 @@ public class AlbumPageFragment extends Fragment {
|
||||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||||
if (item.getItemId() == R.id.action_download_album) {
|
if (item.getItemId() == R.id.action_download_album) {
|
||||||
albumPageViewModel.getAlbumSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
|
albumPageViewModel.getAlbumSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
|
||||||
DownloadUtil.getDownloadTracker(requireContext()).download(songs, null, null);
|
if(isVisible() && getActivity() != null) {
|
||||||
|
DownloadUtil.getDownloadTracker(requireContext()).download(songs, null, null);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.core.view.ViewCompat;
|
import androidx.core.view.ViewCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
import androidx.recyclerview.widget.GridLayoutManager;
|
import androidx.recyclerview.widget.GridLayoutManager;
|
||||||
import androidx.recyclerview.widget.PagerSnapHelper;
|
import androidx.recyclerview.widget.PagerSnapHelper;
|
||||||
|
|
@ -279,22 +278,14 @@ public class DownloadFragment extends Fragment {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initPlaceholder() {
|
private void initPlaceholder() {
|
||||||
FragmentActivity requiredActivity = getActivity();
|
downloadViewModel.getDownloadedTracks(requireActivity(), 20).observe(requireActivity(), songs -> {
|
||||||
|
if ((songs != null && !songs.isEmpty())) {
|
||||||
if (requiredActivity != null) {
|
if (bind != null) bind.emptyDownloadLayout.setVisibility(View.GONE);
|
||||||
downloadViewModel.getDownloadedTracks(requiredActivity, 20).observe(requiredActivity, songs ->
|
if (bind != null) bind.fragmentDownloadNestedScrollView.setVisibility(View.VISIBLE);
|
||||||
downloadViewModel.getDownloadedAlbums(requiredActivity, 20).observe(requiredActivity, albums ->
|
} else {
|
||||||
downloadViewModel.getDownloadedArtists(requiredActivity, 20).observe(requiredActivity, artists -> {
|
if (bind != null) bind.emptyDownloadLayout.setVisibility(View.VISIBLE);
|
||||||
if ((songs != null && !songs.isEmpty()) || (albums != null && !albums.isEmpty()) || (artists != null && !artists.isEmpty())) {
|
if (bind != null) bind.fragmentDownloadNestedScrollView.setVisibility(View.GONE);
|
||||||
if (bind != null) bind.emptyDownloadLayout.setVisibility(View.GONE);
|
}
|
||||||
if (bind != null) bind.fragmentDownloadNestedScrollView.setVisibility(View.VISIBLE);
|
});
|
||||||
} else {
|
|
||||||
if (bind != null) bind.emptyDownloadLayout.setVisibility(View.VISIBLE);
|
|
||||||
if (bind != null) bind.fragmentDownloadNestedScrollView.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ public class PlaylistPageFragment extends Fragment {
|
||||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||||
if (item.getItemId() == R.id.action_download_playlist) {
|
if (item.getItemId() == R.id.action_download_playlist) {
|
||||||
playlistPageViewModel.getPlaylistSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
|
playlistPageViewModel.getPlaylistSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
|
||||||
if (getContext() != null) {
|
if (isVisible() && getActivity() != null) {
|
||||||
DownloadUtil.getDownloadTracker(requireContext()).download(songs, playlistPageViewModel.getPlaylist().getId(), playlistPageViewModel.getPlaylist().getName());
|
DownloadUtil.getDownloadTracker(requireContext()).download(songs, playlistPageViewModel.getPlaylist().getId(), playlistPageViewModel.getPlaylist().getName());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -90,13 +90,15 @@ public class PlaylistChooserDialog extends DialogFragment {
|
||||||
bind.playlistDialogRecyclerView.setAdapter(playlistHorizontalAdapter);
|
bind.playlistDialogRecyclerView.setAdapter(playlistHorizontalAdapter);
|
||||||
|
|
||||||
playlistChooserViewModel.getPlaylistList().observe(requireActivity(), playlists -> {
|
playlistChooserViewModel.getPlaylistList().observe(requireActivity(), playlists -> {
|
||||||
if (playlists.size() > 0) {
|
if(playlists != null) {
|
||||||
if (bind != null) bind.noPlaylistsCreatedTextView.setVisibility(View.GONE);
|
if (playlists.size() > 0) {
|
||||||
if (bind != null) bind.playlistDialogRecyclerView.setVisibility(View.VISIBLE);
|
if (bind != null) bind.noPlaylistsCreatedTextView.setVisibility(View.GONE);
|
||||||
playlistHorizontalAdapter.setItems(playlists);
|
if (bind != null) bind.playlistDialogRecyclerView.setVisibility(View.VISIBLE);
|
||||||
} else {
|
playlistHorizontalAdapter.setItems(playlists);
|
||||||
if (bind != null) bind.noPlaylistsCreatedTextView.setVisibility(View.VISIBLE);
|
} else {
|
||||||
if (bind != null) bind.playlistDialogRecyclerView.setVisibility(View.GONE);
|
if (bind != null) bind.noPlaylistsCreatedTextView.setVisibility(View.VISIBLE);
|
||||||
|
if (bind != null) bind.playlistDialogRecyclerView.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue