use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class NeteaseMusicListActivity method listener.
@Override
protected void listener() {
mAdapter.setOnItemClickListener((adapter, view, position) -> {
if (view.getId() != R.id.iv_more) {
action = 0;
LogUtil.e(TAG, toplist.get(position).toString());
mPresenter.getMusicInfo(toplist.get(position));
}
});
mAdapter.setOnItemChildClickListener((adapter, view, position) -> {
NeteaseMusic music = toplist.get(position);
PopupMenu popupMenu = new PopupMenu(getApplicationContext(), view);
popupMenu.setOnMenuItemClickListener(item -> {
switch(item.getItemId()) {
case R.id.popup_song_detail:
StringBuilder sb = new StringBuilder();
sb.append("艺术家:").append(music.getAuthors()).append("\n").append("专辑:").append(music.getAlbum().getName()).append("\n").append("播放时长:").append(FormatUtil.formatTime(music.getDuration())).append("\n").append("播放地址:").append(music.getMp3Url());
new MaterialDialog.Builder(NeteaseMusicListActivity.this).title("歌曲详情").content(sb.toString()).positiveText("确定").build().show();
break;
case R.id.popup_song_goto_artist:
Log.e(TAG, music.toString());
Music music1 = new Music();
music1.setTitle(music.getName());
music1.setArtist(music.getArtists().get(0).getName());
Intent intent = new Intent(this, ArtistInfoActivity.class);
intent.putExtra(Extras.TING_UID, music1);
startActivity(intent);
break;
case R.id.popup_add_playlist:
mPresenter.addPlaylist(new Music(music));
break;
case R.id.popup_song_download:
action = 1;
mPresenter.getMusicInfo(music);
break;
}
return false;
});
popupMenu.inflate(R.menu.popup_song_online);
popupMenu.show();
});
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class DownloadedFragment method listener.
@Override
protected void listener() {
mAdapter.setOnItemClickListener((adapter, view, position) -> {
if (view.getId() != R.id.iv_more) {
PlayManager.setPlayList(musicList);
PlayManager.play(position);
}
});
mAdapter.setOnItemChildClickListener((adapter, view, position) -> {
Music music = (Music) adapter.getItem(position);
PopupMenu popupMenu = new PopupMenu(getContext(), view);
popupMenu.setOnMenuItemClickListener(item -> {
switch(item.getItemId()) {
case R.id.popup_song_play:
PlayManager.setPlayList(musicList);
PlayManager.play(position);
break;
case R.id.popup_song_detail:
ShowDetailDialog.newInstance((Music) adapter.getItem(position)).show(getChildFragmentManager(), getTag());
break;
case R.id.popup_song_goto_album:
Log.e("album", music.toString() + "");
NavigateUtil.navigateToAlbum(getActivity(), music.getAlbumId(), music.getAlbum(), null);
break;
case R.id.popup_song_goto_artist:
NavigateUtil.navigateToArtist(getActivity(), music.getArtistId(), music.getArtist(), null);
break;
case R.id.popup_song_addto_queue:
AddPlaylistDialog.newInstance(music).show(getChildFragmentManager(), "ADD_PLAYLIST");
break;
case R.id.popup_song_delete:
new MaterialDialog.Builder(getContext()).title("提示").content("是否删除这首歌曲?").onPositive((dialog, which) -> {
FileUtils.delFile(musicList.get(position).getUri());
SongLoader.removeSong(getActivity(), musicList.get(position));
mAdapter.notifyItemChanged(position);
}).positiveText("确定").negativeText("取消").show();
break;
}
return false;
});
popupMenu.inflate(R.menu.popup_song);
popupMenu.show();
});
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class OnlineMusicAdapter method convert.
@Override
protected void convert(BaseViewHolder holder, BaiduMusicInfo baiduMusicInfo) {
Music music = new Music();
music.setTitle(baiduMusicInfo.getTitle());
music.setArtist(baiduMusicInfo.getArtist_name());
music.setAlbum(baiduMusicInfo.getAlbum_title());
music.setCoverUri(baiduMusicInfo.getPic_big());
music.setId(baiduMusicInfo.getSong_id());
music.setLrcPath(baiduMusicInfo.getLrclink());
holder.setText(R.id.tv_title, baiduMusicInfo.getTitle());
holder.setText(R.id.tv_artist, baiduMusicInfo.getArtist_name());
GlideApp.with(mContext).load(music.getCoverUri()).diskCacheStrategy(DiskCacheStrategy.ALL).into((ImageView) holder.getView(R.id.iv_cover));
holder.addOnClickListener(R.id.iv_more);
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class PlayControlsPresenter method updateFavoriteSong.
public void updateFavoriteSong() {
Music music = PlayManager.getPlayingMusic();
if (music == null)
return;
PlayManager.updateFavorite(music);
mView.updateFavorite(!PlayManager.getPlayingMusic().isLove());
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class ShowDetailDialog method onCreateDialog.
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Music music = getArguments().getParcelable("music");
StringBuilder sb = new StringBuilder();
sb.append("歌名:").append(music.getTitle()).append("\n\n").append("歌手:").append(music.getArtist()).append("\n\n").append("专辑:").append(music.getAlbum());
return new MaterialDialog.Builder(getActivity()).title("歌曲详情").content(sb.toString()).positiveText("确定").build();
}
Aggregations