1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.exoplatform.ui.social;
20
21 import java.util.ArrayList;
22
23 import org.exoplatform.R;
24 import org.exoplatform.model.SocialLikeInfo;
25 import org.exoplatform.utils.ExoConstants;
26 import org.exoplatform.utils.image.ExoPicasso;
27 import android.annotation.SuppressLint;
28 import android.app.Activity;
29 import android.content.Context;
30 import android.net.Uri;
31 import android.os.Bundle;
32 import android.view.LayoutInflater;
33 import android.view.View;
34 import android.view.ViewGroup;
35 import android.widget.AdapterView;
36 import android.widget.AdapterView.OnItemClickListener;
37 import android.widget.BaseAdapter;
38 import android.widget.GridView;
39 import android.widget.ImageView;
40 import android.widget.TextView;
41
42
43
44
45
46 public class LikeListActivity extends Activity {
47
48
49
50
51
52
53 private ArrayList<SocialLikeInfo> likeList;
54
55 private GridView likedGridView;
56
57 private StringBuffer title;
58
59 @Override
60 protected void onCreate(Bundle savedInstanceState) {
61 super.onCreate(savedInstanceState);
62
63 setContentView(R.layout.like_list_activity_layout);
64
65
66
67 likeList = getIntent().getParcelableArrayListExtra(ExoConstants.SOCIAL_LIKED_LIST_EXTRA);
68 int size = 0;
69 if (likeList != null) {
70 size = likeList.size();
71 initUI();
72 }
73
74
75
76
77
78 String liker;
79 if (size == 0 || size == 1) {
80 liker = getResources().getString(R.string.Liker);
81 } else {
82 liker = getResources().getString(R.string.Likers);
83 }
84 title = new StringBuffer();
85 title.append(size);
86 title.append(" ");
87 title.append(liker);
88 setTitle(title.toString());
89
90 }
91
92 private void initUI() {
93 likedGridView = (GridView) findViewById(R.id.like_list_gridview);
94 likedGridView.setAdapter(new LikedItemAdapter(this));
95 likedGridView.setOnItemClickListener(new OnItemClickListener() {
96
97 @Override
98 public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
99 }
100 });
101 }
102
103
104
105
106 private class LikedItemAdapter extends BaseAdapter {
107
108 private LayoutInflater mInflater;
109
110 public LikedItemAdapter(Context context) {
111 mInflater = LayoutInflater.from(context);
112 }
113
114 @Override
115 public int getCount() {
116 return likeList.size();
117 }
118
119 @Override
120 public Object getItem(int position) {
121 return position;
122 }
123
124 @Override
125 public long getItemId(int position) {
126 return position;
127 }
128
129 @SuppressLint("InflateParams")
130 @Override
131 public View getView(int position, View convertView, ViewGroup parent) {
132 ViewHolder viewHolder;
133 if (convertView == null) {
134
135
136
137 convertView = mInflater.inflate(R.layout.liked_grid_item, null);
138 viewHolder = new ViewHolder();
139 viewHolder.imageView = (ImageView) convertView.findViewById(R.id.liked_avatar);
140 viewHolder.textView = (TextView) convertView.findViewById(R.id.liked_name);
141 convertView.setTag(viewHolder);
142 } else {
143 viewHolder = (ViewHolder) convertView.getTag();
144 }
145
146 ExoPicasso.picasso(getApplicationContext())
147 .load(Uri.parse(likeList.get(position).likedImageUrl))
148 .error(R.drawable.default_avatar)
149 .into(viewHolder.imageView);
150 viewHolder.textView.setText(likeList.get(position).getLikeName());
151
152 return convertView;
153 }
154
155 }
156
157 private class ViewHolder {
158 public ImageView imageView;
159
160 public TextView textView;
161 }
162
163 }