package com.alorma.github.ui.adapter.issues;
import android.support.annotation.NonNull;
import android.view.LayoutInflater;
import com.alorma.github.R;
import com.alorma.github.sdk.bean.dto.response.Issue;
import com.alorma.github.sdk.bean.dto.response.IssueState;
import com.alorma.github.sdk.bean.dto.response.PullRequest;
import com.mikepenz.iconics.typeface.IIcon;
import com.mikepenz.octicons_typeface_library.Octicons;
public class PullRequestsAdapter extends OldIssuesAdapter {
public PullRequestsAdapter(LayoutInflater inflater) {
super(inflater);
}
@Override
protected int getColorState(Issue issue) {
int colorState = R.color.pullrequest_state_close;
if (IssueState.open == issue.state) {
colorState = R.color.pullrequest_state_open;
} else if ((issue instanceof PullRequest) && ((PullRequest) issue).merged) {
colorState = R.color.pullrequest_state_merged;
}
return colorState;
}
@NonNull
@Override
protected IIcon getIconStateDrawable(Issue issue) {
IIcon iconDrawable;
if (issue.state == IssueState.closed) {
iconDrawable = Octicons.Icon.oct_issue_closed;
} else if ((issue instanceof PullRequest) && ((PullRequest) issue).merged) {
iconDrawable = Octicons.Icon.oct_git_merge;
} else {
iconDrawable = Octicons.Icon.oct_issue_opened;
}
return iconDrawable;
}
/*
private IssuesAdapterListener issuesAdapterListener;
public PullRequestsAdapter(LayoutInflater inflater) {
super(inflater);
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new ViewHolder(getInflater().inflate(R.layout.row_issue, parent, false));
}
@Override
protected void onBindViewHolder(ViewHolder holder, PullRequest issue) {
holder.title.setText(issue.title);
holder.num.setText(String.format("#%d", issue.number));
if (issue.user != null) {
holder.autor.setText(Html.fromHtml(holder.itemView.getResources().getString(R.string.issue_created_by, issue.user.login)));
ImageLoader instance = ImageLoader.getInstance();
instance.displayImage(issue.user.avatar_url, holder.avatar);
}
int colorState = getColorState(holder, issue);
holder.num.setTextColor(colorState);
IconicsDrawable iconDrawable;
if (issue.state == IssueState.closed) {
iconDrawable = new IconicsDrawable(holder.itemView.getContext(), Octicons.Icon.oct_issue_closed);
} else {
iconDrawable = new IconicsDrawable(holder.itemView.getContext(), Octicons.Icon.oct_issue_opened);
}
iconDrawable.colorRes(R.color.gray_github_medium);
holder.pullRequest.setImageDrawable(iconDrawable);
}
private int getColorState(ViewHolder holder, PullRequest issue) {
int colorState = holder.itemView.getResources().getColor(R.color.pullrequest_state_close);
if (IssueState.open == issue.state) {
colorState = holder.itemView.getResources().getColor(R.color.pullrequest_state_open);
} else if (issue.merged) {
colorState = holder.itemView.getResources().getColor(R.color.pullrequest_state_merged);
}
return colorState;
}
public void setIssuesAdapterListener(IssuesAdapterListener issuesAdapterListener) {
this.issuesAdapterListener = issuesAdapterListener;
}
public class ViewHolder extends RecyclerView.ViewHolder {
private final TextView title;
private final TextView num;
private final TextView autor;
private final ImageView avatar;
private final ImageView pullRequest;
public ViewHolder(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.textTitle);
num = (TextView) itemView.findViewById(R.id.textInfo);
autor = (TextView) itemView.findViewById(R.id.textAuthor);
avatar = (ImageView) itemView.findViewById(R.id.avatarAuthor);
pullRequest = (ImageView) itemView.findViewById(R.id.pullRequest);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PullRequest item = getItem(getAdapterPosition());
if (issuesAdapterListener != null) {
issuesAdapterListener.onPullRequestOpenRequest(item);
}
}
});
}
}
public interface IssuesAdapterListener {
void onPullRequestOpenRequest(PullRequest issue);
}*/
}