package com.alorma.github.ui.adapter.users;
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.alorma.github.R;
import com.alorma.github.sdk.bean.dto.response.UserType;
import com.alorma.github.ui.activity.OrganizationActivity;
import com.alorma.github.ui.activity.ProfileActivity;
import com.alorma.github.ui.adapter.base.RecyclerArrayAdapter;
import com.alorma.github.ui.utils.UniversalImageLoaderUtils;
import core.User;
public class UsersAdapter extends RecyclerArrayAdapter<User, UsersAdapter.ViewHolder> {
public UsersAdapter(LayoutInflater inflater) {
super(inflater);
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new ViewHolder(getInflater().inflate(R.layout.row_user_square, parent, false));
}
@Override
protected void onBindViewHolder(final ViewHolder holder, User user) {
UniversalImageLoaderUtils.loadUserAvatarSquare(holder.avatar, user);
holder.text.setText(user.getLogin());
}
public class ViewHolder extends RecyclerView.ViewHolder {
private final ImageView avatar;
private final TextView text;
private final View textRootView;
public ViewHolder(View itemView) {
super(itemView);
avatar = (ImageView) itemView.findViewById(R.id.avatarAuthorImage);
text = (TextView) itemView.findViewById(R.id.textAuthorLogin);
textRootView = itemView.findViewById(R.id.textRootView);
itemView.setOnClickListener(v -> {
User user = getItem(getAdapterPosition());
if (isReturnResult()) {
getCallback().onItemSelected(user);
} else {
if (user.getType().equals(UserType.Organization.name())) {
v.getContext().startActivity(OrganizationActivity.launchIntent(v.getContext(), user.getLogin()));
} else {
final Intent intent = ProfileActivity.createLauncherIntent(v.getContext(), user);
if (textRootView.getTag() != null) {
int color = (int) textRootView.getTag();
intent.putExtra(ProfileActivity.EXTRA_COLOR, color);
}
v.getContext().startActivity(intent);
}
}
});
}
}
}