mirror of
https://github.com/antebudimir/tempus.git
synced 2025-12-31 17:43:32 +00:00
feat: added songBottomSheet to track files within directories
This commit is contained in:
parent
75980ee18b
commit
68c77cefff
3 changed files with 24 additions and 0 deletions
|
|
@ -77,6 +77,8 @@ public class MusicDirectoryAdapter extends RecyclerView.Adapter<MusicDirectoryAd
|
||||||
item.musicDirectoryTitleTextView.setSelected(true);
|
item.musicDirectoryTitleTextView.setSelected(true);
|
||||||
|
|
||||||
itemView.setOnClickListener(v -> onClick());
|
itemView.setOnClickListener(v -> onClick());
|
||||||
|
itemView.setOnLongClickListener(v -> onLongClick());
|
||||||
|
|
||||||
item.musicDirectoryMoreButton.setOnClickListener(v -> onClick());
|
item.musicDirectoryMoreButton.setOnClickListener(v -> onClick());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -92,5 +94,18 @@ public class MusicDirectoryAdapter extends RecyclerView.Adapter<MusicDirectoryAd
|
||||||
click.onMediaClick(bundle);
|
click.onMediaClick(bundle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean onLongClick() {
|
||||||
|
if (!children.get(getBindingAdapterPosition()).isDir()) {
|
||||||
|
Bundle bundle = new Bundle();
|
||||||
|
bundle.putParcelable(Constants.TRACK_OBJECT, children.get(getBindingAdapterPosition()));
|
||||||
|
|
||||||
|
click.onMediaLongClick(bundle);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -182,6 +182,11 @@ public class DirectoryFragment extends Fragment implements ClickCallback {
|
||||||
MediaManager.startQueue(mediaBrowserListenableFuture, bundle.getParcelableArrayList(Constants.TRACKS_OBJECT), bundle.getInt(Constants.ITEM_POSITION));
|
MediaManager.startQueue(mediaBrowserListenableFuture, bundle.getParcelableArrayList(Constants.TRACKS_OBJECT), bundle.getInt(Constants.ITEM_POSITION));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMediaLongClick(Bundle bundle) {
|
||||||
|
Navigation.findNavController(requireView()).navigate(R.id.songBottomSheetDialog, bundle);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMusicDirectoryClick(Bundle bundle) {
|
public void onMusicDirectoryClick(Bundle bundle) {
|
||||||
Navigation.findNavController(requireView()).navigate(R.id.directoryFragment, bundle);
|
Navigation.findNavController(requireView()).navigate(R.id.directoryFragment, bundle);
|
||||||
|
|
|
||||||
|
|
@ -196,6 +196,8 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements
|
||||||
dismissBottomSheet();
|
dismissBottomSheet();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
goToAlbum.setVisibility(songBottomSheetViewModel.getSong().getAlbumId() != null ? View.VISIBLE : View.GONE);
|
||||||
|
|
||||||
TextView goToArtist = view.findViewById(R.id.go_to_artist_text_view);
|
TextView goToArtist = view.findViewById(R.id.go_to_artist_text_view);
|
||||||
goToArtist.setOnClickListener(v -> songBottomSheetViewModel.getArtist().observe(getViewLifecycleOwner(), artist -> {
|
goToArtist.setOnClickListener(v -> songBottomSheetViewModel.getArtist().observe(getViewLifecycleOwner(), artist -> {
|
||||||
if (artist != null) {
|
if (artist != null) {
|
||||||
|
|
@ -208,6 +210,8 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements
|
||||||
dismissBottomSheet();
|
dismissBottomSheet();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
goToArtist.setVisibility(songBottomSheetViewModel.getSong().getArtistId() != null ? View.VISIBLE : View.GONE);
|
||||||
|
|
||||||
TextView share = view.findViewById(R.id.share_text_view);
|
TextView share = view.findViewById(R.id.share_text_view);
|
||||||
share.setOnClickListener(v -> songBottomSheetViewModel.shareTrack().observe(getViewLifecycleOwner(), sharedTrack -> {
|
share.setOnClickListener(v -> songBottomSheetViewModel.shareTrack().observe(getViewLifecycleOwner(), sharedTrack -> {
|
||||||
if (sharedTrack != null) {
|
if (sharedTrack != null) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue