package com.fastaccess.ui.adapter.viewholder; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.view.View; import android.view.ViewGroup; import com.fastaccess.R; import com.fastaccess.data.dao.model.Release; import com.fastaccess.helper.InputHelper; import com.fastaccess.helper.ParseDateFormat; import com.fastaccess.ui.widgets.FontTextView; import com.fastaccess.ui.widgets.ForegroundImageView; import com.fastaccess.ui.widgets.SpannableBuilder; import com.fastaccess.ui.widgets.recyclerview.BaseRecyclerAdapter; import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder; import butterknife.BindString; import butterknife.BindView; /** * Created by Kosh on 11 Nov 2016, 2:08 PM */ public class ReleasesViewHolder extends BaseViewHolder<Release> { @BindView(R.id.title) FontTextView title; @BindView(R.id.details) FontTextView details; @BindView(R.id.download) ForegroundImageView download; @BindString(R.string.released) String released; @BindString(R.string.drafted) String drafted; private ReleasesViewHolder(@NonNull View itemView, @Nullable BaseRecyclerAdapter adapter) { super(itemView, adapter); download.setOnClickListener(this); download.setOnLongClickListener(this); } public static ReleasesViewHolder newInstance(ViewGroup viewGroup, BaseRecyclerAdapter adapter) { return new ReleasesViewHolder(getView(viewGroup, R.layout.releases_row_item), adapter); } @Override public void bind(@NonNull Release item) { title.setText(SpannableBuilder.builder().bold(!InputHelper.isEmpty(item.getName()) ? item.getName() : item.getTagName())); if (item.getAuthor() != null) { details.setText(SpannableBuilder.builder() .append(item.getAuthor().getLogin()) .append(" ") .append(item.isDraft() ? drafted : released) .append(" ") .append(ParseDateFormat.getTimeAgo(item.getCreatedAt()))); } else { details.setVisibility(View.GONE); } } }