Removed bottom buttons from PlayerControllerFragment

This commit is contained in:
CappielloAntonio 2022-01-10 12:41:41 +01:00
parent bc4d7251b0
commit 856cc04d4d
2 changed files with 51 additions and 174 deletions

View file

@ -22,41 +22,26 @@ import androidx.media3.session.SessionToken;
import androidx.navigation.fragment.NavHostFragment;
import androidx.viewpager2.widget.ViewPager2;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.databinding.InnerFragmentPlayerControllerBinding;
import com.cappielloantonio.play.interfaces.MediaCallback;
import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.SongRepository;
import com.cappielloantonio.play.service.MediaManager;
import com.cappielloantonio.play.service.MediaService;
import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.ui.dialog.PlaylistChooserDialog;
import com.cappielloantonio.play.ui.dialog.RatingDialog;
import com.cappielloantonio.play.ui.fragment.pager.PlayerControllerHorizontalPager;
import com.cappielloantonio.play.util.DownloadUtil;
import com.cappielloantonio.play.util.MappingUtil;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.PlayerBottomSheetViewModel;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import java.util.List;
public class PlayerControllerFragment extends Fragment {
private static final String TAG = "PlayerCoverFragment";
private InnerFragmentPlayerControllerBinding bind;
private ImageView playerMoveDownBottomSheet;
private ViewPager2 playerSongCoverViewPager;
private ImageButton buttonRating;
private ToggleButton buttonFavorite;
private TextView playerSongTitleLabel;
private TextView playerArtistNameLabel;
private ImageButton buttonDownload;
private ImageButton buttonAddToPlaylist;
private ImageButton buttonStartMix;
private ImageButton buttonLyrics;
private MainActivity activity;
private PlayerBottomSheetViewModel playerBottomSheetViewModel;
@ -75,7 +60,6 @@ public class PlayerControllerFragment extends Fragment {
initCoverLyricsSlideView();
initMediaListenable();
initArtistLabelButton();
initButtonRow();
return view;
}
@ -105,15 +89,9 @@ public class PlayerControllerFragment extends Fragment {
playerMoveDownBottomSheet = bind.getRoot().findViewById(R.id.player_move_down_bottom_sheet);
playerSongCoverViewPager = bind.getRoot().findViewById(R.id.player_song_cover_view_pager);
buttonFavorite = bind.getRoot().findViewById(R.id.button_favorite);
buttonRating = bind.getRoot().findViewById(R.id.button_rating);
playerSongTitleLabel = bind.getRoot().findViewById(R.id.player_song_title_label);
playerArtistNameLabel = bind.getRoot().findViewById(R.id.player_artist_name_label);
buttonDownload = bind.getRoot().findViewById(R.id.button_download);
buttonAddToPlaylist = bind.getRoot().findViewById(R.id.button_playlist);
buttonStartMix = bind.getRoot().findViewById(R.id.button_mix);
buttonLyrics = bind.getRoot().findViewById(R.id.button_lyrics);
playerMoveDownBottomSheet.setOnClickListener(view -> activity.collapseBottomSheet());
}
@ -186,13 +164,15 @@ public class PlayerControllerFragment extends Fragment {
buttonFavorite.setOnClickListener(v -> playerBottomSheetViewModel.setFavorite(requireContext(), song));
buttonRating.setOnClickListener(v -> {
buttonFavorite.setOnLongClickListener(v -> {
Bundle bundle = new Bundle();
bundle.putParcelable("song_object", song);
RatingDialog dialog = new RatingDialog();
dialog.setArguments(bundle);
dialog.show(requireActivity().getSupportFragmentManager(), null);
return false;
});
if (getActivity() != null) {
@ -215,48 +195,11 @@ public class PlayerControllerFragment extends Fragment {
});
}
private void initButtonRow() {
playerBottomSheetViewModel.getLiveSong().observe(requireActivity(), song -> {
if (song != null) {
buttonDownload.setOnClickListener(view -> DownloadUtil
.getDownloadTracker(requireContext())
.download(
MappingUtil.mapMediaItem(requireContext(), song, false),
MappingUtil.mapDownload(song, null, null)
));
buttonAddToPlaylist.setOnClickListener(view -> {
Bundle bundle = new Bundle();
bundle.putParcelable("song_object", song);
PlaylistChooserDialog dialog = new PlaylistChooserDialog();
dialog.setArguments(bundle);
dialog.show(requireActivity().getSupportFragmentManager(), null);
});
buttonStartMix.setOnClickListener(view -> {
MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), song);
SongRepository songRepository = new SongRepository(App.getInstance());
songRepository.getInstantMix(song, 20, new MediaCallback() {
@Override
public void onError(Exception exception) {
Log.e(TAG, "onError() " + exception.getMessage());
}
@Override
public void onLoadMedia(List<?> media) {
MediaManager.enqueue(mediaBrowserListenableFuture, requireContext(), (List<Song>) media, true);
}
});
});
}
});
buttonLyrics.setOnClickListener(view -> playerSongCoverViewPager.setCurrentItem(1, true));
}
public void goBackToFirstPage() {
public void goToControllerPage() {
playerSongCoverViewPager.setCurrentItem(0, false);
}
public void goToLyricsPage() {
playerSongCoverViewPager.setCurrentItem(1, true);
}
}