package com.quickblox.sample.groupchatwebrtc.adapters;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.quickblox.sample.core.ui.adapter.BaseSelectableListAdapter;
import com.quickblox.sample.core.utils.ResourceUtils;
import com.quickblox.sample.core.utils.UiUtils;
import com.quickblox.sample.groupchatwebrtc.R;
import com.quickblox.users.model.QBUser;
import java.util.List;
/**
* QuickBlox team
*/
public class OpponentsAdapter extends BaseSelectableListAdapter<QBUser> {
private SelectedItemsCountsChangedListener selectedItemsCountChangedListener;
public OpponentsAdapter(Context context, List<QBUser> users) {
super(context, users);
}
public View getView(final int position, View convertView, final ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.item_opponents_list, null);
holder = new ViewHolder();
holder.opponentIcon = (ImageView) convertView.findViewById(R.id.image_opponent_icon);
holder.opponentName = (TextView) convertView.findViewById(R.id.opponentsName);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
final QBUser user = getItem(position);
if (user != null) {
holder.opponentName.setText(user.getFullName());
if (selectedItems.contains(user)){
convertView.setBackgroundResource(R.color.background_color_selected_user_item);
holder.opponentIcon.setBackgroundDrawable(
UiUtils.getColoredCircleDrawable(ResourceUtils.getColor(R.color.icon_background_color_selected_user)));
holder.opponentIcon.setImageResource(R.drawable.ic_checkmark);
} else {
convertView.setBackgroundResource(R.color.background_color_normal_user_item);
holder.opponentIcon.setBackgroundDrawable(UiUtils.getColorCircleDrawable(user.getId()));
holder.opponentIcon.setImageResource(R.drawable.ic_person);
}
}
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
toggleSelection(position);
selectedItemsCountChangedListener.onCountSelectedItemsChanged(selectedItems.size());
}
});
return convertView;
}
public static class ViewHolder {
ImageView opponentIcon;
TextView opponentName;
}
public void setSelectedItemsCountsChangedListener(SelectedItemsCountsChangedListener selectedItemsCountsChanged){
if (selectedItemsCountsChanged != null) {
this.selectedItemsCountChangedListener = selectedItemsCountsChanged;
}
}
public interface SelectedItemsCountsChangedListener{
void onCountSelectedItemsChanged(int count);
}
}