package com.steps.geosms.newConversation;
import android.content.Context;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.ioane.sharvadze.geosms.R;
import com.steps.geosms.objects.Contact;
/**
* Class ChosenContactsAdapter for ChosenContacts GridView
*
* Created by Ioane on 4/23/2015.
*/
public class ChosenContactsAdapter extends ArrayAdapter<Contact>{
private LayoutInflater inflater;
public ChosenContactsAdapter(Context context, int resource) {
super(context, resource);
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
static class ViewHolder{
ImageView contactImage;
TextView name;
TextView number;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
ViewHolder holder;
if(convertView == null){
view = inflater.inflate(R.layout.contact_bubble, parent, false);
holder = new ViewHolder();
holder.contactImage = (ImageView)view.findViewById(R.id.contact_picture_image_view);
holder.name = (TextView)view.findViewById(R.id.name);
holder.number = (TextView)view.findViewById(R.id.number);
view.setTag(holder);
}else
holder = (ViewHolder)view.getTag();
Contact contact = getItem(position);
if(contact == null) return view;
holder.contactImage.setImageBitmap(contact.getPhoto());
if(TextUtils.isEmpty(contact.getName()))
holder.name.setVisibility(View.GONE);
else{
holder.name.setVisibility(View.VISIBLE);
holder.name.setText(contact.getName());
}
holder.number.setText(contact.getAddress());
return view;
}
}