From 1af92ad94951a02860a731b6110744240be27321 Mon Sep 17 00:00:00 2001 From: antonio Date: Fri, 25 Aug 2023 12:23:26 +0200 Subject: [PATCH] fix: now refreshing playlist view every time library is visited --- .../tempo/ui/fragment/LibraryFragment.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/LibraryFragment.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/LibraryFragment.java index 87d21cc0..414d2f7b 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/LibraryFragment.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/LibraryFragment.java @@ -1,6 +1,7 @@ package com.cappielloantonio.tempo.ui.fragment; import android.os.Bundle; +import android.os.Handler; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -18,6 +19,7 @@ import com.cappielloantonio.tempo.R; import com.cappielloantonio.tempo.databinding.FragmentLibraryBinding; import com.cappielloantonio.tempo.helper.recyclerview.CustomLinearSnapHelper; import com.cappielloantonio.tempo.interfaces.ClickCallback; +import com.cappielloantonio.tempo.interfaces.PlaylistCallback; import com.cappielloantonio.tempo.ui.activity.MainActivity; import com.cappielloantonio.tempo.ui.adapter.AlbumAdapter; import com.cappielloantonio.tempo.ui.adapter.ArtistAdapter; @@ -71,7 +73,7 @@ public class LibraryFragment extends Fragment implements ClickCallback { initAlbumView(); initArtistView(); initGenreView(); - initPlaylistSlideView(); + initPlaylistView(); } @Override @@ -80,6 +82,12 @@ public class LibraryFragment extends Fragment implements ClickCallback { activity.setBottomNavigationBarVisibility(true); } + @Override + public void onResume() { + super.onResume(); + refreshPlaylistView(); + } + @Override public void onDestroyView() { super.onDestroyView(); @@ -222,7 +230,7 @@ public class LibraryFragment extends Fragment implements ClickCallback { genreSnapHelper.attachToRecyclerView(bind.genreRecyclerView); } - private void initPlaylistSlideView() { + private void initPlaylistView() { bind.playlistRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext())); bind.playlistRecyclerView.setHasFixedSize(true); @@ -244,6 +252,12 @@ public class LibraryFragment extends Fragment implements ClickCallback { }); } + private void refreshPlaylistView() { + final Handler handler = new Handler(); + final Runnable runnable = () -> libraryViewModel.refreshPlaylistSample(getViewLifecycleOwner()); + handler.postDelayed(runnable, 100); + } + @Override public void onAlbumClick(Bundle bundle) { Navigation.findNavController(requireView()).navigate(R.id.albumPageFragment, bundle); @@ -276,7 +290,13 @@ public class LibraryFragment extends Fragment implements ClickCallback { @Override public void onPlaylistLongClick(Bundle bundle) { - PlaylistEditorDialog dialog = new PlaylistEditorDialog(); + PlaylistEditorDialog dialog = new PlaylistEditorDialog(new PlaylistCallback() { + @Override + public void onDismiss() { + refreshPlaylistView(); + } + }); + dialog.setArguments(bundle); dialog.show(activity.getSupportFragmentManager(), null); }