package org.yuttadhammo.buddydroid.interfaces;
import java.util.HashMap;
import org.yuttadhammo.buddydroid.R;
import com.koushikdutta.urlimageviewhelper.UrlImageViewHelper;
import android.app.Activity;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.util.SparseIntArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class GroupsListAdapter extends ArrayAdapter<Object> {
protected String TAG = "GroupsListAdapter";
public SparseIntArray expanded = new SparseIntArray();
private Activity activity;
public GroupsListAdapter(Activity _activity, Object[] rss) {
super(_activity, 0, rss);
activity = _activity;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = activity.getLayoutInflater();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
// Inflate the views from XML
View rowView = inflater.inflate(R.layout.group_item, null);
final HashMap<?,?> entryMap = (HashMap<?, ?>) getItem(position);
TextView titleView = (TextView) rowView.findViewById(R.id.title);
TextView descView = (TextView) rowView.findViewById(R.id.description);
TextView statusView = (TextView) rowView.findViewById(R.id.status);
TextView membersView = (TextView) rowView.findViewById(R.id.members);
try {
String text = sanitizeText((String) entryMap.get("description"));
String title = sanitizeText((String)entryMap.get("name"));
String status = sanitizeText((String)entryMap.get("status"));
String count = (String)entryMap.get("total_member_count");
Boolean is_member = (Boolean)entryMap.get("is_member");
// add text
descView.setText(text);
titleView.setText(title);
statusView.setText(status);
if(entryMap.containsKey("avatar")) {
HashMap<?,?> avatars = (HashMap<?, ?>) entryMap.get("avatar");
String imgurl = (String)avatars.get("full");
ImageView iv = (ImageView) rowView.findViewById(R.id.feed_image);
UrlImageViewHelper.setUrlDrawable(iv, imgurl);
}
if(count.equals("1"))
membersView.setText(getContext().getString(R.string.one_member));
else
membersView.setText(String.format(getContext().getString(R.string.x_members),count));
if(!is_member)
rowView.setBackgroundColor(0xFFEEEEEE);
}
catch (Exception e) {
e.printStackTrace();
}
return rowView;
}
private String sanitizeText(String string) {
string = string.replace("\\\"", "\"").replace("\\'", "'");
return string;
}
}