Added Android code
[wl-app.git] / Android / app / src / main / java / com / moiseum / wolnelektury / view / library / BookViewHolder.java
diff --git a/Android/app/src/main/java/com/moiseum/wolnelektury/view/library/BookViewHolder.java b/Android/app/src/main/java/com/moiseum/wolnelektury/view/library/BookViewHolder.java
new file mode 100644 (file)
index 0000000..73c7667
--- /dev/null
@@ -0,0 +1,56 @@
+package com.moiseum.wolnelektury.view.library;
+
+import android.graphics.Color;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.load.engine.DiskCacheStrategy;
+import com.moiseum.wolnelektury.R;
+import com.moiseum.wolnelektury.components.recycler.ViewHolder;
+import com.moiseum.wolnelektury.connection.RestClient;
+import com.moiseum.wolnelektury.connection.models.BookModel;
+
+import butterknife.BindView;
+
+/**
+ * @author golonkos
+ */
+
+class BookViewHolder extends ViewHolder<BookModel> {
+
+       private static final String DEFAULT_OVERLAY_COLOR = "#80db4b16";
+
+       @BindView(R.id.ivBookCover)
+       ImageView ivBookCover;
+       @BindView(R.id.tvBookAuthor)
+       TextView tvBookAuthor;
+       @BindView(R.id.tvBookTitle)
+       TextView tvBookTitle;
+       @BindView(R.id.ivAudioBook)
+       ImageView ivAudioBook;
+       @BindView(R.id.llBookContent)
+       LinearLayout llBookContent;
+
+       BookViewHolder(View view) {
+               super(view);
+       }
+
+       @Override
+       public void bind(BookModel item, boolean selected) {
+               if (item.getCoverThumb() != null) {
+                       String coverUrl = item.getCoverThumb();
+                       if (!coverUrl.contains(RestClient.MEDIA_URL) && !coverUrl.contains(RestClient.MEDIA_URL_HTTPS)) {
+                               coverUrl = RestClient.MEDIA_URL_HTTPS + coverUrl;
+                       }
+                       Glide.with(getContext()).load(coverUrl).placeholder(R.drawable.list_nocover).diskCacheStrategy(DiskCacheStrategy.ALL).dontTransform().into(ivBookCover);
+               }
+               tvBookAuthor.setText(item.getAuthor());
+               tvBookTitle.setText(item.getTitle());
+               ivAudioBook.setVisibility(item.isHasAudio() ? View.VISIBLE : View.GONE);
+               String colorHash = item.getCoverColor() != null ? item.getCoverColor() : DEFAULT_OVERLAY_COLOR;
+               llBookContent.setBackgroundColor(Color.parseColor(colorHash));
+       }
+}