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.Gist;
import com.fastaccess.helper.ParseDateFormat;
import com.fastaccess.ui.widgets.AvatarLayout;
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 Nov 2016, 2:08 PM
*/
public class GistsViewHolder extends BaseViewHolder<Gist> {
@Nullable @BindView(R.id.avatarLayout) AvatarLayout avatar;
@BindView(R.id.title) FontTextView title;
@BindView(R.id.date) FontTextView date;
private boolean isFromProfile;
private GistsViewHolder(@NonNull View itemView, @Nullable BaseRecyclerAdapter adapter, boolean isFromProfile) {
super(itemView, adapter);
title.setMaxLines(2);
this.isFromProfile = isFromProfile;
}
public static GistsViewHolder newInstance(@NonNull ViewGroup viewGroup, @Nullable BaseRecyclerAdapter adapter, boolean isFromProfile) {
if (!isFromProfile) {
return new GistsViewHolder(getView(viewGroup, R.layout.feeds_row_item), adapter, false);
} else {
return new GistsViewHolder(getView(viewGroup, R.layout.feeds_row_no_image_item), adapter, true);
}
}
@Override public void bind(@NonNull Gist item) {
if (!isFromProfile) {
if (avatar != null) {
String url = item.getOwner() != null ? item.getOwner().getAvatarUrl() : item.getUser() != null ? item.getUser().getAvatarUrl() : null;
String login = item.getOwner() != null ? item.getOwner().getLogin() : item.getUser() != null ? item.getUser().getLogin() : null;
avatar.setUrl(url, login);
}
}
title.setText(item.getDisplayTitle(isFromProfile));
date.setText(ParseDateFormat.getTimeAgo(item.getCreatedAt()));
}
}