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 19d2141f..d52b5026 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
@@ -4,18 +4,25 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Toast;
import androidx.core.view.ViewCompat;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
+import com.cappielloantonio.play.App;
import com.cappielloantonio.play.adapter.SongResultSearchAdapter;
import com.cappielloantonio.play.databinding.FragmentSongListPageBinding;
import com.cappielloantonio.play.model.Song;
+import com.cappielloantonio.play.repository.QueueRepository;
+import com.cappielloantonio.play.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.viewmodel.SongListPageViewModel;
+import java.util.Collections;
+import java.util.List;
+
public class SongListPageFragment extends Fragment {
private FragmentSongListPageBinding bind;
@@ -34,6 +41,7 @@ public class SongListPageFragment extends Fragment {
init();
initAppBar();
+ initButtons();
initSongListView();
return view;
@@ -121,6 +129,34 @@ public class SongListPageFragment extends Fragment {
});
}
+ private void initButtons() {
+ songListPageViewModel.getSongList().observe(requireActivity(), songs -> {
+ if(bind != null) {
+ bind.songListPlayImageView.setOnClickListener(v -> {
+ QueueRepository queueRepository = new QueueRepository(App.getInstance());
+ queueRepository.insertAllAndStartNew(songs);
+
+ activity.isBottomSheetInPeek(true);
+ activity.setBottomSheetMusicInfo(songs.get(0));
+
+ MusicPlayerRemote.openQueue(songs, 0, true);
+ });
+
+ bind.songListShuffleImageView.setOnClickListener(v -> {
+ Collections.shuffle(songs);
+
+ QueueRepository queueRepository = new QueueRepository(App.getInstance());
+ queueRepository.insertAllAndStartNew(songs);
+
+ activity.isBottomSheetInPeek(true);
+ activity.setBottomSheetMusicInfo(songs.get(0));
+
+ MusicPlayerRemote.openQueue(songs, 0, true);
+ });
+ }
+ });
+ }
+
private void initSongListView() {
bind.songListRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
bind.songListRecyclerView.setHasFixedSize(true);
diff --git a/app/src/main/res/layout/fragment_song_list_page.xml b/app/src/main/res/layout/fragment_song_list_page.xml
index 011a07fa..83005be8 100644
--- a/app/src/main/res/layout/fragment_song_list_page.xml
+++ b/app/src/main/res/layout/fragment_song_list_page.xml
@@ -33,7 +33,7 @@
+
+
+ app:layout_constraintBottom_toBottomOf="parent" />
+
+