package com.mercandalli.android.apps.files.file.audio; import android.content.Context; import android.graphics.Color; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v7.widget.CardView; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.mercandalli.android.apps.files.R; import com.mercandalli.android.library.base.generic.GenericRecyclerAdapter; import java.util.List; /* package */ class AlbumCard extends CardView implements GenericRecyclerAdapter.GenericView<Album>, View.OnClickListener { @Nullable private Album mAlbum; public AlbumCard(Context context) { super(context); init(context); } public AlbumCard(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public AlbumCard(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(context); } @Override public void setModel(@NonNull final Album album, @NonNull final List<Album> list) { mAlbum = album; ((TextView) findViewById(R.id.view_album_card_title)).setText(album.getName()); ((TextView) findViewById(R.id.view_album_card_subtitle)).setText(String.valueOf(album.getNumberOfSongs())); } @Override public void onClick(final View v) { if (mAlbum == null) { return; } AlbumManager.getInstance(getContext()).onAlbumCardClicked(mAlbum); } /** * Initialize this {@link AlbumCard}. * * @param context the {@link Context} passed in the constructor. */ private void init(@NonNull final Context context) { inflate(context, R.layout.view_album_card_view, this); setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); setUseCompatPadding(true); setCardBackgroundColor(Color.WHITE); setOnClickListener(this); } }