1 package com.moiseum.wolnelektury.view.library;
3 import android.graphics.Color;
4 import android.view.View;
5 import android.widget.ImageView;
6 import android.widget.LinearLayout;
7 import android.widget.TextView;
9 import com.bumptech.glide.Glide;
10 import com.bumptech.glide.load.engine.DiskCacheStrategy;
11 import com.moiseum.wolnelektury.R;
12 import com.moiseum.wolnelektury.components.recycler.ViewHolder;
13 import com.moiseum.wolnelektury.connection.RestClient;
14 import com.moiseum.wolnelektury.connection.models.BookModel;
16 import butterknife.BindView;
22 class BookViewHolder extends ViewHolder<BookModel> {
24 private static final String DEFAULT_OVERLAY_COLOR = "#80db4b16";
26 @BindView(R.id.ivBookCover)
27 ImageView ivBookCover;
28 @BindView(R.id.tvBookAuthor)
29 TextView tvBookAuthor;
30 @BindView(R.id.tvBookTitle)
32 @BindView(R.id.ivAudioBook)
33 ImageView ivAudioBook;
34 @BindView(R.id.llBookContent)
35 LinearLayout llBookContent;
37 BookViewHolder(View view) {
42 public void bind(BookModel item, boolean selected) {
43 if (item.getCoverThumb() != null) {
44 String coverUrl = item.getCoverThumb();
45 if (!coverUrl.contains(RestClient.MEDIA_URL) && !coverUrl.contains(RestClient.MEDIA_URL_HTTPS)) {
46 coverUrl = RestClient.MEDIA_URL_HTTPS + coverUrl;
48 Glide.with(getContext()).load(coverUrl).placeholder(R.drawable.list_nocover).diskCacheStrategy(DiskCacheStrategy.ALL).dontTransform().into(ivBookCover);
50 tvBookAuthor.setText(item.getAuthor());
51 tvBookTitle.setText(item.getTitle());
52 ivAudioBook.setVisibility(item.isHasAudio() ? View.VISIBLE : View.GONE);
53 String colorHash = item.getCoverColor() != null ? item.getCoverColor() : DEFAULT_OVERLAY_COLOR;
54 llBookContent.setBackgroundColor(Color.parseColor(colorHash));