package org.bookdash.android.presentation.downloads; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.bumptech.glide.Glide; import com.firebase.ui.storage.images.FirebaseImageLoader; import org.bookdash.android.R; import org.bookdash.android.domain.model.firebase.FireBookDetails; import java.util.List; public class DownloadsAdapter extends RecyclerView.Adapter<DownloadsViewHolder> { private final View.OnClickListener deleteClickListener; private final View.OnClickListener bookClickListener; private List<FireBookDetails> bookList; private Context context; public DownloadsAdapter(List<FireBookDetails> bookList, Context context, View.OnClickListener deleteClickListener, View.OnClickListener bookClickListener) { this.bookList = bookList; this.context = context; this.deleteClickListener = deleteClickListener; this.bookClickListener = bookClickListener; } @Override public DownloadsViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v = LayoutInflater.from(parent.getContext()) .inflate(R.layout.list_item_download, parent, false); return new DownloadsViewHolder(v); } @Override public void onBindViewHolder(DownloadsViewHolder holder, int position) { FireBookDetails book = bookList.get(position); holder.downloadTitleTextView.setText(book.getBookTitle()); Glide.with(context).using(new FirebaseImageLoader()).load(book.getFirebaseBookCoverUrl()).into(holder.downloadImageTextView); //todo holder.downloadProgressTextView.setText(book.getLanguage().getLanguageName()); holder.downloadActionButtonView.setOnClickListener(deleteClickListener); holder.book = book; holder.downloadActionButtonView.setTag(holder); holder.downloadRelativeLayout.setOnClickListener(bookClickListener); holder.downloadRelativeLayout.setTag(holder); } @Override public int getItemCount() { if (bookList == null) { return 0; } return bookList.size(); } public void setBooks(List<FireBookDetails> books) { this.bookList = books; } }