package com.quickblox.sample.chat.ui.adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.ImageView; import android.widget.TextView; import com.quickblox.chat.QBChatService; import com.quickblox.sample.chat.R; import com.quickblox.sample.core.ui.adapter.BaseListAdapter; import com.quickblox.sample.core.utils.ResourceUtils; import com.quickblox.sample.core.utils.UiUtils; import com.quickblox.users.model.QBUser; import java.util.List; public class UsersAdapter extends BaseListAdapter<QBUser> { protected QBUser currentUser; public UsersAdapter(Context context, List<QBUser> users) { super(context, users); currentUser = QBChatService.getInstance().getUser(); } @Override public View getView(int position, View convertView, ViewGroup parent) { QBUser user = getItem(position); ViewHolder holder; if (convertView == null) { convertView = inflater.inflate(R.layout.list_item_user, parent, false); holder = new ViewHolder(); holder.userImageView = (ImageView) convertView.findViewById(R.id.image_user); holder.loginTextView = (TextView) convertView.findViewById(R.id.text_user_login); holder.userCheckBox = (CheckBox) convertView.findViewById(R.id.checkbox_user); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } if (isUserMe(user)) { holder.loginTextView.setText(context.getString(R.string.placeholder_username_you, user.getFullName())); } else { holder.loginTextView.setText(user.getFullName()); } if (isAvailableForSelection(user)) { holder.loginTextView.setTextColor(ResourceUtils.getColor(R.color.text_color_black)); } else { holder.loginTextView.setTextColor(ResourceUtils.getColor(R.color.text_color_medium_grey)); } holder.userImageView.setBackgroundDrawable(UiUtils.getColorCircleDrawable(position)); holder.userCheckBox.setVisibility(View.GONE); return convertView; } protected boolean isUserMe(QBUser user) { return currentUser != null && currentUser.getId().equals(user.getId()); } protected boolean isAvailableForSelection(QBUser user) { return currentUser == null || !currentUser.getId().equals(user.getId()); } protected static class ViewHolder { ImageView userImageView; TextView loginTextView; CheckBox userCheckBox; } }