use of io.hefuyi.listener.mvp.model.Album in project ListenerMusicPlayer by hefuyicoder.
the class SearchAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(ItemHolder itemHolder, int position) {
switch(getItemViewType(position)) {
case 0:
Song song = (Song) searchResults.get(position);
itemHolder.title.setText(song.title);
itemHolder.subtitle1.setText(song.artistName);
itemHolder.subtitle2.setText(song.albumName);
Glide.with(itemHolder.itemView.getContext()).load(ListenerUtil.getAlbumArtUri(song.albumId).toString()).error(ATEUtil.getDefaultAlbumDrawable(mContext)).placeholder(ATEUtil.getDefaultAlbumDrawable(mContext)).centerCrop().into(itemHolder.image);
setOnPopupMenuListener(itemHolder, 0, position);
break;
case 1:
Album album = (Album) searchResults.get(position);
itemHolder.title.setText(album.title);
itemHolder.subtitle1.setText(album.artistName);
itemHolder.subtitle2.setText(ListenerUtil.makeLabel(mContext, R.plurals.Nsongs, album.songCount));
Glide.with(itemHolder.itemView.getContext()).load(ListenerUtil.getAlbumArtUri(album.id).toString()).asBitmap().placeholder(ATEUtil.getDefaultAlbumDrawable(mContext)).error(ATEUtil.getDefaultAlbumDrawable(mContext)).centerCrop().into(itemHolder.image);
if (ListenerUtil.isLollipop())
itemHolder.image.setTransitionName("transition_album_art" + position);
setOnPopupMenuListener(itemHolder, 1, position);
break;
case 2:
Artist artist = (Artist) searchResults.get(position);
itemHolder.title.setText(artist.name);
itemHolder.subtitle1.setText(ListenerUtil.makeLabel(mContext, R.plurals.Nalbums, artist.albumCount));
itemHolder.subtitle2.setText(ListenerUtil.makeLabel(mContext, R.plurals.Nsongs, artist.songCount));
String artistArtJson = PreferencesUtility.getInstance(mContext).getArtistArt(artist.id);
if (!TextUtils.isEmpty(artistArtJson)) {
ArtistArt artistArt = new Gson().fromJson(artistArtJson, ArtistArt.class);
Glide.with(mContext).load(artistArt.getLarge()).asBitmap().placeholder(ATEUtil.getDefaultSingerDrawable(mContext)).diskCacheStrategy(DiskCacheStrategy.SOURCE).error(ATEUtil.getDefaultSingerDrawable(mContext)).into(itemHolder.image);
}
if (ListenerUtil.isLollipop())
itemHolder.image.setTransitionName("transition_artist_art" + position);
setOnPopupMenuListener(itemHolder, 2, position);
break;
case 10:
itemHolder.sectionHeader.setText((String) searchResults.get(position));
case 3:
break;
}
}
use of io.hefuyi.listener.mvp.model.Album in project ListenerMusicPlayer by hefuyicoder.
the class AlbumAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(final ItemHolder itemHolder, final int i) {
Album localItem = arraylist.get(i);
itemHolder.title.setText(localItem.title);
itemHolder.artist.setText(localItem.artistName);
itemHolder.songcount.setText(ListenerUtil.makeLabel(mContext, R.plurals.Nsongs, localItem.songCount));
Glide.with(itemHolder.itemView.getContext()).load(ListenerUtil.getAlbumArtUri(localItem.id).toString()).asBitmap().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(new SimpleTarget<Bitmap>() {
@Override
public void onLoadFailed(Exception e, Drawable errorDrawable) {
if (isGrid) {
itemHolder.footer.setBackgroundColor(ATEUtil.getThemeAlbumDefaultPaletteColor(mContext));
}
itemHolder.albumArt.setImageDrawable(ATEUtil.getDefaultAlbumDrawable(mContext));
itemHolder.title.setTextColor(ATEUtil.getThemeTextColorPrimary(mContext));
itemHolder.artist.setTextColor(ATEUtil.getThemeTextColorSecondly(mContext));
itemHolder.songcount.setTextColor(ATEUtil.getThemeTextColorSecondly(mContext));
itemHolder.popupMenu.setColorFilter(mContext.getResources().getColor(R.color.background_floating_material_dark));
}
@Override
public void onResourceReady(final Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
if (isGrid) {
new Palette.Builder(resource).generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {
Palette.Swatch swatch = ColorUtil.getMostPopulousSwatch(palette);
if (swatch != null) {
int color = swatch.getRgb();
itemHolder.footer.setBackgroundColor(color);
int detailColor = swatch.getTitleTextColor();
itemHolder.albumArt.setImageBitmap(resource);
itemHolder.title.setTextColor(ColorUtil.getOpaqueColor(detailColor));
itemHolder.artist.setTextColor(detailColor);
itemHolder.songcount.setTextColor(detailColor);
itemHolder.popupMenu.setColorFilter(detailColor);
}
}
});
} else {
itemHolder.albumArt.setImageBitmap(resource);
}
}
});
if (ListenerUtil.isLollipop())
itemHolder.albumArt.setTransitionName("transition_album_art" + i);
setOnPopupMenuListener(itemHolder, i);
}
use of io.hefuyi.listener.mvp.model.Album in project ListenerMusicPlayer by hefuyicoder.
the class ArtistSongAdapter method setUpAlbums.
private void setUpAlbums(final RecyclerView albumsRecyclerview) {
albumsRecyclerview.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
albumsRecyclerview.setHasFixedSize(true);
//to add spacing between cards
int spacingInPixels = mContext.getResources().getDimensionPixelSize(R.dimen.spacing_card);
albumsRecyclerview.addItemDecoration(new SpacesItemDecoration(spacingInPixels));
albumsRecyclerview.setNestedScrollingEnabled(false);
ArtistAlbumLoader.getAlbumsForArtist(mContext, artistID).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<List<Album>>() {
@Override
public void call(List<Album> albumList) {
ArtistAlbumAdapter mAlbumAdapter = new ArtistAlbumAdapter(mContext, albumList);
albumsRecyclerview.setAdapter(mAlbumAdapter);
}
});
}
Aggregations