package com.fastaccess.ui.adapter.viewholder;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.amulyakhare.textdrawable.TextDrawable;
import com.amulyakhare.textdrawable.util.ColorGenerator;
import com.fastaccess.R;
import com.fastaccess.data.dao.FolderModel;
import com.fastaccess.helper.InputHelper;
import com.fastaccess.helper.ViewHelper;
import com.fastaccess.ui.widgets.FontTextView;
import com.fastaccess.ui.widgets.recyclerview.BaseRecyclerAdapter;
import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder;
import butterknife.BindView;
/**
* Created by Kosh on 11 Oct 2016, 7:47 PM
*/
public class FoldersViewHolder extends BaseViewHolder<FolderModel> implements ViewHelper.OnTooltipDismissListener {
@BindView(R.id.folderImage) ImageView folderImage;
@BindView(R.id.folderName) FontTextView folderName;
@BindView(R.id.appsCount) FontTextView appsCount;
@BindView(R.id.addApps) View addApps;
@BindView(R.id.delete) View delete;
@BindView(R.id.editFolder) View editFolder;
public static FoldersViewHolder newInstance(@NonNull ViewGroup parent, @NonNull BaseRecyclerAdapter adapter) {
return new FoldersViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.folder_row_item, parent, false), adapter);
}
public FoldersViewHolder(@NonNull View itemView, @Nullable BaseRecyclerAdapter adapter) {
super(itemView, adapter);
folderImage.setOnClickListener(this);
folderImage.setOnLongClickListener(this);
addApps.setOnClickListener(this);
addApps.setOnLongClickListener(this);
editFolder.setOnClickListener(this);
editFolder.setOnLongClickListener(this);
delete.setOnClickListener(this);
delete.setOnLongClickListener(this);
}
@Override public void bind(@NonNull FolderModel folderModel) {
folderName.setText(folderModel.getFolderName());
appsCount.setText(String.valueOf(folderModel.getAppsCount()));
folderImage.setContentDescription(folderModel.getFolderName());
TextDrawable.IBuilder builder = TextDrawable.builder()
.beginConfig()
.endConfig()
.round();
String letter = InputHelper.getTwoLetters(folderModel.getFolderName());
int color = folderModel.getColor() == 0 ? ColorGenerator.MATERIAL.getRandomColor() : folderModel.getColor();
folderImage.setImageDrawable(builder.build(letter.toUpperCase(), color));
if (getAdapterPosition() == 0) {
ViewHelper.showTooltip(delete, R.string.delete_folder_hint, this);
}
}
@Override public void onDismissed(@StringRes int resId) {
if (resId == R.string.delete_folder_hint) {
ViewHelper.showTooltip(addApps, R.string.add_folder_apps_hint, this);
} else {
ViewHelper.showTooltip(editFolder, R.string.edit_folder_hint);
}
}
}