use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class MusicCursorWrapper method getMusic.
public Music getMusic() {
Music music = new Music();
music.setId(getString(getColumnIndex(DBData.MUSIC_ID)));
music.setTitle(getString(getColumnIndex(DBData.MUSIC_NAME)));
music.setArtistId(getString(getColumnIndex(DBData.MUSIC_ALBUM_ID)));
music.setArtist(getString(getColumnIndex(DBData.MUSIC_ARTIST)));
music.setAlbum(getString(getColumnIndex(DBData.MUSIC_ALBUM)));
music.setAlbumId(getLong(getColumnIndex(DBData.MUSIC_ALBUM_ID)));
music.setDuration(getLong(getColumnIndex(DBData.MUSIC_TIME)));
music.setUri(getString(getColumnIndex(DBData.MUSIC_PATH)));
music.setLrcPath(getString(getColumnIndex(DBData.MUSIC_LRC_PATH)));
music.setCoverUri(getString(getColumnIndex(DBData.MUSIC_COVER)));
music.setCoverBig(getString(getColumnIndex(DBData.MUSIC_COVER_BIG)));
music.setCoverSmall(getString(getColumnIndex(DBData.MUSIC_COVER_SMALL)));
music.setFileName(getString(getColumnIndex(DBData.MUSIC_FILENAME)));
music.setPrefix(getString(getColumnIndex(DBData.MUSIC_PREFIX)));
music.setLove(getInt(getColumnIndex(DBData.IS_LOVE)) == 1);
music.setOnline(getInt(getColumnIndex(DBData.IS_ONLINE)) == 1);
String type = getString(getColumnIndex(DBData.MUSIC_TYPE));
music.setType(type);
music.setFileSize(getLong(getColumnIndex(DBData.MUSIC_SIZE)));
music.setYear(getString(getColumnIndex(DBData.MUSIC_YEARS)));
LogUtil.e(music.toString());
return music;
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class AddPlaylistDialog method onCreateDialog.
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Music music = getArguments().getParcelable("music");
if (music.getType() == Music.Type.LOCAL) {
return new MaterialDialog.Builder(getActivity()).title("增加到歌单").content("暂不支持添加本地歌曲到在线歌单").build();
}
final List<Playlist> playlists = PlaylistLoader.getPlaylist(getActivity());
final CharSequence[] chars = new CharSequence[playlists.size() + 1];
chars[0] = "新建歌单";
for (int i = 0; i < playlists.size(); i++) {
chars[i + 1] = playlists.get(i).getName();
}
return new MaterialDialog.Builder(getActivity()).title("增加到歌单").items(chars).itemsCallback((dialog, itemView, which, text) -> {
if (which == 0) {
CreatePlaylistDialog createDialog = CreatePlaylistDialog.newInstance(music);
createDialog.show(getFragmentManager(), TAG_CREATE);
} else {
Log.d("addDialog", which + "----" + playlists.get(which - 1).getId() + "------" + music.getId());
result = PlaylistLoader.addToPlaylist(getActivity(), playlists.get(which - 1).getId(), music.getId());
if (result) {
RxBus.getInstance().post(new Playlist());
ToastUtils.show(getActivity(), "添加成功");
} else {
ToastUtils.show(getActivity(), "歌单中已有此音乐,请勿重复添加");
}
dialog.dismiss();
}
}).build();
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class MusicApiServiceImpl method getMusicList.
public static Observable<List<Music>> getMusicList(String pid) {
return getMusicApiService().getMusicList(getToken(), pid).flatMap(myMusicInfo -> {
List<Music> musicList = new ArrayList<>();
for (int i = 0; i < myMusicInfo.getData().size(); i++) {
MusicInfo musicInfo = myMusicInfo.getData().get(i);
Music music = new Music();
music.setId(musicInfo.getSong_id());
music.setTitle(musicInfo.getSourceData().getName());
music.setType(musicInfo.getSourceData().getSource());
music.setAlbum(musicInfo.getSourceData().getAlbum().getName());
music.setAlbumId(Long.parseLong(musicInfo.getSourceData().getAlbum().getId()));
String artists = musicInfo.getSourceData().getArtists().get(0).getName();
String artistIds = musicInfo.getSourceData().getArtists().get(0).getId();
for (int j = 1; j < musicInfo.getSourceData().getArtists().size(); j++) {
artists += "," + musicInfo.getSourceData().getArtists().get(j).getName();
artistIds += "," + musicInfo.getSourceData().getArtists().get(j).getId();
}
music.setArtist(artists);
music.setArtistId(artistIds);
music.setCoverUri(musicInfo.getSourceData().getAlbum().getCover());
music.setCoverBig(musicInfo.getSourceData().getAlbum().getCover());
music.setCoverSmall(musicInfo.getSourceData().getAlbum().getCover());
musicList.add(music);
}
return Observable.fromArray(musicList);
});
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class BaiduApiServiceImpl method getOnlineSongs.
public static Observable<List<Music>> getOnlineSongs(String type, int limit, int mOffset) {
Map<String, String> params = new HashMap<>();
params.put(Constants.PARAM_METHOD, Constants.METHOD_GET_MUSIC_LIST);
params.put(Constants.PARAM_TYPE, type);
params.put(Constants.PARAM_SIZE, String.valueOf(limit));
params.put(Constants.PARAM_OFFSET, String.valueOf(mOffset));
return getApiService().getOnlineSongs(params).flatMap(baiduSongList -> {
List<Music> musicList = new ArrayList<>();
for (BaiduMusicInfo songInfo : baiduSongList.getSong_list()) {
Music music = new Music();
music.setType(Music.Type.BAIDU);
music.setOnline(true);
music.setId(songInfo.getSong_id());
music.setAlbum(songInfo.getAlbum_title());
music.setAlbumId(songInfo.getAlbum_id());
music.setArtist(songInfo.getArtist_name());
music.setArtistId(songInfo.getTing_uid());
music.setTitle(songInfo.getTitle());
music.setLrcPath(songInfo.getLrclink());
music.setCoverSmall(songInfo.getPic_small());
music.setCoverUri(songInfo.getPic_big());
music.setCoverBig(songInfo.getPic_radio());
musicList.add(music);
}
return Observable.create((ObservableOnSubscribe<List<Music>>) e -> {
try {
e.onNext(musicList);
e.onComplete();
} catch (Exception ep) {
e.onError(ep);
}
});
});
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class NeteaseApiServiceImpl method getTopMusicList.
public static Observable<List<Music>> getTopMusicList(int ids) {
return getApiService().getTopList(ids).flatMap(topList -> {
List<Music> musicList = new ArrayList<>();
for (NeteaseMusic songInfo : topList.getResult().getTracks()) {
Music music = new Music();
music.setType(Music.Type.NETEASE);
music.setOnline(true);
music.setId(String.valueOf(songInfo.getId()));
music.setAlbum(songInfo.getAlbum().getName());
music.setAlbumId(songInfo.getAlbum().getId());
music.setArtist(songInfo.getArtists().get(0).getName());
// music.setArtistId(songInfo.getArtists().get(0).getId());
music.setTitle(songInfo.getName());
music.setCoverSmall(songInfo.getAlbum().getPicUrl());
music.setCoverUri(songInfo.getAlbum().getBlurPicUrl());
music.setCoverBig(songInfo.getAlbum().getPicUrl());
musicList.add(music);
}
return Observable.create((ObservableOnSubscribe<List<Music>>) e -> {
try {
e.onNext(musicList);
e.onComplete();
} catch (Exception ep) {
e.onError(ep);
}
});
});
}
Aggregations