blob: db18074970b5fee460e55bfa53f887c66adde58c [file] [log] [blame]
alisiond295ec22013-05-17 10:12:13 -04001package com.savoirfairelinux.sflphone.adapters;
2
3import java.util.ArrayList;
4import java.util.concurrent.ExecutorService;
5import java.util.concurrent.Executors;
6
7import android.content.Context;
8import android.view.LayoutInflater;
9import android.view.View;
10import android.view.ViewGroup;
11import android.widget.BaseAdapter;
12import android.widget.ImageView;
13import android.widget.TextView;
14
15import com.savoirfairelinux.sflphone.R;
16import com.savoirfairelinux.sflphone.model.CallContact;
17
18public class StarredContactsAdapter extends BaseAdapter {
19
20 private ExecutorService infos_fetcher = Executors.newCachedThreadPool();
21 private ArrayList<CallContact> dataset;
22 Context mContext;
23
24 private static final String TAG = ContactsAdapter.class.getSimpleName();
25
26 public StarredContactsAdapter(Context context) {
27 super();
28 mContext = context;
29 dataset = new ArrayList<CallContact>();
30 }
31
32 public void removeAll() {
33 dataset.clear();
34 notifyDataSetChanged();
35 }
36
37 public void addAll(ArrayList<CallContact> arrayList) {
38 dataset.addAll(arrayList);
39 notifyDataSetChanged();
40 }
41
42 @Override
43 public int getCount() {
44 return dataset.size();
45 }
46
47 @Override
alisiond8c83882013-05-17 17:00:42 -040048 public CallContact getItem(int index) {
alisiond295ec22013-05-17 10:12:13 -040049 return dataset.get(index);
50 }
51
52 @Override
53 public long getItemId(int index) {
54 return dataset.get(index).getId();
55 }
56
57 @Override
58 public View getView(int pos, View convView, ViewGroup parent) {
59
60 View v = convView;
61 LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
62
63 if (v == null) {
64 v = inflater.inflate(R.layout.item_contact_starred, null);
65 }
66
67 CallContact item = dataset.get(pos);
68
69 ((TextView) v.findViewById(R.id.display_name)).setText(item.getmDisplayName());
70 ImageView photo_view = (ImageView) v.findViewById(R.id.photo);
71
72 infos_fetcher.execute(new ContactPictureLoader(mContext, photo_view, item.getId()));
73
74 return v;
75 }
76}