package com.fastaccess.ui.adapter.viewholder; import android.support.annotation.NonNull; import android.text.format.Formatter; import android.view.View; import android.view.ViewGroup; import com.fastaccess.R; import com.fastaccess.data.dao.model.RepoFile; import com.fastaccess.data.dao.types.FilesType; import com.fastaccess.ui.widgets.FontTextView; import com.fastaccess.ui.widgets.ForegroundImageView; import com.fastaccess.ui.widgets.recyclerview.BaseRecyclerAdapter; import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder; import butterknife.BindString; import butterknife.BindView; /** * Created by Kosh on 15 Feb 2017, 10:29 PM */ public class RepoFilesViewHolder extends BaseViewHolder<RepoFile> { @BindView(R.id.contentTypeImage) ForegroundImageView contentTypeImage; @BindView(R.id.title) FontTextView title; @BindView(R.id.size) FontTextView size; @BindView(R.id.menu) ForegroundImageView menu; @BindString(R.string.file) String file; @Override public void onClick(View v) { if (v.getId() == R.id.contentTypeImage) { itemView.callOnClick(); } else { super.onClick(v); } } private RepoFilesViewHolder(@NonNull View itemView, @NonNull BaseRecyclerAdapter adapter) { super(itemView, adapter); menu.setOnClickListener(this); contentTypeImage.setOnClickListener(this); } public static RepoFilesViewHolder newInstance(ViewGroup viewGroup, BaseRecyclerAdapter adapter) { return new RepoFilesViewHolder(getView(viewGroup, R.layout.repo_files_row_item), adapter); } @Override public void bind(@NonNull RepoFile filesModel) { contentTypeImage.setContentDescription(String.format("%s %s", filesModel.getName(), file)); title.setText(filesModel.getName()); if (filesModel.getType() != null && filesModel.getType().getIcon() != 0) { contentTypeImage.setImageResource(filesModel.getType().getIcon()); if (filesModel.getType() == FilesType.file) { size.setText(Formatter.formatFileSize(size.getContext(), filesModel.getSize())); size.setVisibility(View.VISIBLE); } else { size.setVisibility(View.GONE); } } } }