package com.fanxin.app.fx;
import com.easemob.EMCallBack;
import com.easemob.chat.CmdMessageBody;
import com.easemob.chat.EMChatManager;
import com.easemob.chat.EMContactManager;
import com.easemob.chat.EMMessage;
import com.fanxin.app.Constant;
import com.fanxin.app.MYApplication;
import com.fanxin.app.R;
import com.fanxin.app.activity.BaseActivity;
import com.fanxin.app.activity.FXAlertDialog;
import com.fanxin.app.fx.others.LocalUserInfo;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class AddFriendsFinalActivity extends BaseActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_addfriends_final);
final String hxid =this.getIntent().getStringExtra("hxid");
TextView tv_send= (TextView) this.findViewById(R.id.tv_send);
final EditText et_reason= (EditText) this.findViewById(R.id.et_reason);
tv_send.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
addContact(hxid,et_reason.getText().toString().trim());
}
});
}
/**
* 添加contact
*
* @param view
*/
@SuppressLint("ShowToast")
public void addContact(final String glufine_id,final String myreason) {
if (glufine_id == null || glufine_id.equals("")) {
return;
}
if (MYApplication.getInstance().getUserName().equals(glufine_id)) {
startActivity(new Intent(this, FXAlertDialog.class).putExtra("msg",
"不能添加自己"));
return;
}
if (MYApplication.getInstance().getContactList()
.containsKey(glufine_id)) {
startActivity(new Intent(this, FXAlertDialog.class).putExtra("msg",
"此用户已是你的好友"));
return;
}
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setMessage("正在发送请求...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
//支持单聊和群聊,默认单聊,如果是群聊添加下面这行
// cmdMsg.setChatType(ChatType.GroupChat);
EMMessage cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);
String action =Constant.CMD_ADD_FRIEND;//action可以自定义,在广播接收时可以收到
CmdMessageBody cmdBody=new CmdMessageBody(action);
String name = LocalUserInfo.getInstance(
AddFriendsFinalActivity.this).getUserInfo("nick");
String avatar = LocalUserInfo.getInstance(
AddFriendsFinalActivity.this).getUserInfo("avatar");
long time = System.currentTimeMillis();
String myreason_temp=myreason;
if(myreason==null||myreason.equals("")){
myreason_temp = "请求加你为好友";
}
String reason = name + "66split88" + avatar + "66split88"
+ String.valueOf(time)+"66split88"+myreason_temp;
cmdMsg.setReceipt(glufine_id);
cmdMsg.setAttribute("reason", reason);//支持自定义扩展
cmdMsg.addBody(cmdBody);
EMChatManager.getInstance().sendMessage(cmdMsg, new EMCallBack(){
@Override
public void onError(int arg0, final String arg1) {
runOnUiThread(new Runnable() {
public void run() {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(),
"请求添加好友失败:" + arg1, Toast.LENGTH_SHORT ).show();
}
});
}
@Override
public void onProgress(int arg0, String arg1) {
}
@Override
public void onSuccess() {
runOnUiThread(new Runnable() {
@SuppressLint("ShowToast")
public void run() {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(),
"发送请求成功,等待对方验证", Toast.LENGTH_SHORT).show();
finish();
}
});
}
});
//
//
// new Thread(new Runnable() {
// public void run() {
//
// try {
// // 在reason封装请求者的昵称/头像/时间等信息,在通知中显示
//
// String name = LocalUserInfo.getInstance(
// AddFriendsFinalActivity.this).getUserInfo("nick");
// String avatar = LocalUserInfo.getInstance(
// AddFriendsFinalActivity.this).getUserInfo("avatar");
// long time = System.currentTimeMillis();
// String myreason_temp=myreason;
// if(myreason==null||myreason.equals("")){
// myreason_temp = "请求加你为好友";
// }
// String reason = name + "66split88" + avatar + "66split88"
// + String.valueOf(time)+"66split88"+myreason_temp;
// EMContactManager.getInstance().addContact(glufine_id,
// reason);
// runOnUiThread(new Runnable() {
// @SuppressLint("ShowToast")
// public void run() {
// progressDialog.dismiss();
// Toast.makeText(getApplicationContext(),
// "发送请求成功,等待对方验证", Toast.LENGTH_SHORT).show();
//
// finish();
// }
// });
//
// } catch (final Exception e) {
// runOnUiThread(new Runnable() {
// public void run() {
// progressDialog.dismiss();
// Toast.makeText(getApplicationContext(),
// "请求添加好友失败:" + e.getMessage(), Toast.LENGTH_SHORT ).show();
// }
// });
// }
// }
// }).start();
}
public void back(View view ){
finish();
}
}