package com.tencent.hq.qq.adapter;
import java.util.List;
import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import cn.bmob.im.BmobUserManager;
import cn.bmob.im.bean.BmobInvitation;
import cn.bmob.im.config.BmobConfig;
import cn.bmob.im.db.BmobDB;
import cn.bmob.im.util.BmobLog;
import cn.bmob.v3.listener.UpdateListener;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.tencent.hq.qq.CustomApplcation;
import com.tencent.hq.qq.R;
import com.tencent.hq.qq.adapter.base.BaseListAdapter;
import com.tencent.hq.qq.adapter.base.ViewHolder;
import com.tencent.hq.qq.util.CollectionUtils;
import com.tencent.hq.qq.util.ImageLoadOptions;
/** �µĺ�������
* @ClassName: NewFriendAdapter
* @Description: TODO
* @author smile
* @date 2014-6-9 ����1:26:12
*/
public class NewFriendAdapter extends BaseListAdapter<BmobInvitation> {
public NewFriendAdapter(Context context, List<BmobInvitation> list) {
super(context, list);
// TODO Auto-generated constructor stub
}
@SuppressLint("InflateParams")
@SuppressWarnings("deprecation")
@Override
public View bindView(int arg0, View convertView, ViewGroup arg2) {
// TODO Auto-generated method stub
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item_add_friend, null);
}
final BmobInvitation msg = getList().get(arg0);
TextView name = ViewHolder.get(convertView, R.id.name);
ImageView iv_avatar = ViewHolder.get(convertView, R.id.avatar);
final Button btn_add = ViewHolder.get(convertView, R.id.btn_add);
String avatar = msg.getAvatar();
if (avatar != null && !avatar.equals("")) {
ImageLoader.getInstance().displayImage(avatar, iv_avatar, ImageLoadOptions.getOptions());
} else {
iv_avatar.setImageResource(R.drawable.default_head);
}
int status = msg.getStatus();
if(status==BmobConfig.INVITE_ADD_NO_VALIDATION||status==BmobConfig.INVITE_ADD_NO_VALI_RECEIVED){
// btn_add.setText("ͬ��");
// btn_add.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.btn_login_selector));
// btn_add.setTextColor(mContext.getResources().getColor(R.color.base_color_text_white));
btn_add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
BmobLog.i("���ͬ�ⰴť:"+msg.getFromid());
agressAdd(btn_add, msg);
}
});
}else if(status==BmobConfig.INVITE_ADD_AGREE){
btn_add.setText("已同意");
btn_add.setBackgroundDrawable(null);
btn_add.setTextColor(mContext.getResources().getColor(R.color.base_color_text_black));
btn_add.setEnabled(false);
}
name.setText(msg.getFromname());
return convertView;
}
/**��Ӻ���
* agressAdd
* @Title: agressAdd
* @Description: TODO
* @param @param btn_add
* @param @param msg
* @return void
* @throws
*/
private void agressAdd(final Button btn_add,final BmobInvitation msg){
final ProgressDialog progress = new ProgressDialog(mContext);
progress.setMessage("正在添加...");
progress.setCanceledOnTouchOutside(false);
progress.show();
try {
//ͬ����Ӻ���
BmobUserManager.getInstance(mContext).agreeAddContact(msg, new UpdateListener() {
@SuppressWarnings("deprecation")
@Override
public void onSuccess() {
// TODO Auto-generated method stub
progress.dismiss();
btn_add.setText("已同意");
btn_add.setBackgroundDrawable(null);
btn_add.setTextColor(mContext.getResources().getColor(R.color.base_color_text_black));
btn_add.setEnabled(false);
//���浽application�з���Ƚ�
CustomApplcation.getInstance().setContactList(CollectionUtils.list2map(BmobDB.create(mContext).getContactList()));
}
@Override
public void onFailure(int arg0, final String arg1) {
// TODO Auto-generated method stub
progress.dismiss();
ShowToast("添加失败: " +arg1);
}
});
} catch (final Exception e) {
progress.dismiss();
ShowToast("添加失败: " +e.getMessage());
}
}
}