package com.yyquan.jzh.activity; import android.content.ContentValues; import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.google.gson.Gson; import com.squareup.picasso.Picasso; import com.yyquan.jzh.R; import com.yyquan.jzh.entity.Ip; import com.yyquan.jzh.entity.User; import com.yyquan.jzh.entity.XmppMessage; import com.yyquan.jzh.util.SharedPreferencesUtil; import com.yyquan.jzh.util.ToastUtil; import com.yyquan.jzh.view.CircleImageView; import com.yyquan.jzh.xmpp.XmppContentProvider; import com.yyquan.jzh.xmpp.XmppService; import com.yyquan.jzh.xmpp.XmppTool; import org.jivesoftware.smack.packet.Presence; import butterknife.Bind; import butterknife.ButterKnife; /** * Created by Administrator on 2016/1/14. */ public class TransactionFriendActivity extends BaseActivity implements View.OnClickListener { XmppMessage message; String url_icon = Ip.ip + "/YfriendService/DoGetIcon?name="; @Bind(R.id.layout_back) LinearLayout ll_Back; @Bind(R.id.imageview_icon) CircleImageView iv_Icon; @Bind(R.id.textView_name) TextView tv_Name; @Bind(R.id.textView_sex) TextView tv_Sex; @Bind(R.id.textview_shenqing) TextView tv_Shenqing; @Bind(R.id.tv_tongyi) TextView tvTongyi; @Bind(R.id.tv_jujue) TextView tvJujue; @Bind(R.id.ll_btn) LinearLayout llBtn; @Bind(R.id.tv_tishi) TextView tvTishi; Presence presence1; @Bind(R.id.rl_msg) RelativeLayout rlMsg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_transactionfriend); ButterKnife.bind(this); initialView(); } @Override public void initialView() { tvTongyi.setOnClickListener(this); ll_Back.setOnClickListener(this); tvJujue.setOnClickListener(this); rlMsg.setOnClickListener(this); Intent intent = getIntent(); message = (XmppMessage) intent.getSerializableExtra("xmpp_user"); Log.i("message", message.toString()); //String str[] = message.getUser().getName().split(";"); User users = new Gson().fromJson(message.getUser().getName(), User.class); tv_Name.setText(users.getNickname()); tv_Shenqing.setText("申请时间:" + message.getTime()); if (message.getType().equals("add")) { if (message.getResult() == 1) { llBtn.setVisibility(View.VISIBLE); tvTishi.setVisibility(View.GONE); } else { llBtn.setVisibility(View.GONE); if (message.getResult() == 0) { tvTishi.setText("已同意" + "该申请"); } else if (message.getResult() == -1) { tvTishi.setText("已拒绝" + "该申请"); } tvTishi.setVisibility(View.VISIBLE); } } else if (message.getType().equals("tongyi") || message.getType().equals("jujue")) { llBtn.setVisibility(View.GONE); tvTishi.setVisibility(View.VISIBLE); tvTishi.setText(message.getContent()); if (message.getResult() == 1) { ContentValues values = new ContentValues(); values.put("result", 0); XmppService.resolver.update(XmppContentProvider.CONTENT_MESSAGES_URI, values, "id=?", new String[]{message.getId() + ""}); SharedPreferencesUtil.setFriendMessageNumber_subone(this, message.getTo()); Intent intents = new Intent("xmpp_receiver"); intents.putExtra("type", message.getType()); sendBroadcast(intents); } } Drawable nav_up = null; if (users.getSex().equals("男")) { tv_Sex.setText("男"); nav_up = getResources().getDrawable(R.mipmap.man); nav_up.setBounds(0, 0, nav_up.getMinimumWidth(), nav_up.getMinimumHeight()); tv_Sex.setCompoundDrawables(null, null, nav_up, null); } else { tv_Sex.setText("女"); nav_up = getResources().getDrawable(R.mipmap.woman); nav_up.setBounds(0, 0, nav_up.getMinimumWidth(), nav_up.getMinimumHeight()); tv_Sex.setCompoundDrawables(null, null, nav_up, null); } if (users.getIcon().equals("")) { if (users.getSex().equals("男")) { iv_Icon.setImageResource(R.mipmap.me_icon_man); tv_Sex.setText("男"); } else { tv_Sex.setText("女"); iv_Icon.setImageResource(R.mipmap.me_icon_woman); } } else { if (users.getIcon().substring(0, 4).equals("http")) { Picasso.with(this).load(users.getIcon()).resize(200, 200).placeholder(R.mipmap.qq_addfriend_search_friend).error(R.mipmap.qq_addfriend_search_friend).centerInside().into(iv_Icon); } else { Picasso.with(this).load(url_icon + users.getIcon()).resize(200, 200).placeholder(R.mipmap.qq_addfriend_search_friend).error(R.mipmap.qq_addfriend_search_friend).centerInside().into(iv_Icon); } } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.layout_back: finish(); break; case R.id.rl_msg: if (XmppTool.getInstance().isConnection() == false) { ToastUtil.show(this, "已断开,正在重连中...."); return; } Intent in = new Intent(this, ShowMessageActivity.class); in.putExtra("user", message.getUser().getUserName()); startActivity(in); break; case R.id.tv_tongyi: presence1 = new Presence(Presence.Type.subscribed);// 同意是subscribed // 拒绝是unsubscribe presence1.setTo(message.getUser().getUserName() + "@" + XmppTool.getInstance().getCon().getServiceName());// 接收方jid presence1.setFrom(message.getTo() + "@" + XmppTool.getInstance().getCon().getServiceName());// 发送方jid XmppTool.getInstance().getCon().sendPacket(presence1);// connection是你自己的XMPPConnection链接 if (XmppTool.getInstance().addUser( message.getUser().getUserName() + "@" + XmppTool.getInstance().getCon().getServiceName(), message.getUser().getName(), "我的好友")) { XmppTool.getInstance().addUserToGroup( message.getUser().getUserName() + "@" + XmppTool.getInstance().getCon().getServiceName(), "我的好友"); Log.i("transaction", "添加好友"); } ContentValues values = new ContentValues(); values.put("result", 0); XmppService.resolver.update(XmppContentProvider.CONTENT_MESSAGES_URI, values, "id=?", new String[]{message.getId() + ""}); SharedPreferencesUtil.setFriendMessageNumber_subone(this, message.getTo()); llBtn.setVisibility(View.GONE); tvTishi.setVisibility(View.VISIBLE); tvTishi.setText("已同意该申请"); Intent intent = new Intent("xmpp_receiver"); intent.putExtra("type", "tongyi"); sendBroadcast(intent); break; case R.id.tv_jujue: presence1 = new Presence(Presence.Type.unsubscribe);// 同意是subscribed // 拒绝是unsubscribe presence1.setTo(message.getUser().getUserName() + "@" + XmppTool.getInstance().getCon().getServiceName());// 接收方jid presence1.setFrom(message.getTo() + "@" + XmppTool.getInstance().getCon().getServiceName());// 发送方jid XmppTool.getInstance().getCon().sendPacket(presence1);// connection是你自己的XMPPConnection链接 ContentValues valuess = new ContentValues(); valuess.put("result", -1); XmppService.resolver.update(XmppContentProvider.CONTENT_MESSAGES_URI, valuess, "id=?", new String[]{message.getId() + ""}); SharedPreferencesUtil.setFriendMessageNumber_subone(this, message.getTo()); llBtn.setVisibility(View.GONE); tvTishi.setVisibility(View.VISIBLE); tvTishi.setText("已拒绝该申请"); Intent intents = new Intent("xmpp_receiver"); intents.putExtra("type", "jujue"); sendBroadcast(intents); break; } } }