Added Android code
[wl-app.git] / Android / app / src / main / java / com / moiseum / wolnelektury / view / library / BookViewHolder.java
1 package com.moiseum.wolnelektury.view.library;
2
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;
8
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;
15
16 import butterknife.BindView;
17
18 /**
19  * @author golonkos
20  */
21
22 class BookViewHolder extends ViewHolder<BookModel> {
23
24         private static final String DEFAULT_OVERLAY_COLOR = "#80db4b16";
25
26         @BindView(R.id.ivBookCover)
27         ImageView ivBookCover;
28         @BindView(R.id.tvBookAuthor)
29         TextView tvBookAuthor;
30         @BindView(R.id.tvBookTitle)
31         TextView tvBookTitle;
32         @BindView(R.id.ivAudioBook)
33         ImageView ivAudioBook;
34         @BindView(R.id.llBookContent)
35         LinearLayout llBookContent;
36
37         BookViewHolder(View view) {
38                 super(view);
39         }
40
41         @Override
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;
47                         }
48                         Glide.with(getContext()).load(coverUrl).placeholder(R.drawable.list_nocover).diskCacheStrategy(DiskCacheStrategy.ALL).dontTransform().into(ivBookCover);
49                 }
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));
55         }
56 }