/** * */ package com.d3.d3xmpp.activites; import org.jivesoftware.smackx.packet.VCard; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.d3.d3xmpp.R; import com.d3.d3xmpp.constant.Constants; import com.d3.d3xmpp.constant.MyApplication; import com.d3.d3xmpp.d3View.D3View; import com.d3.d3xmpp.dao.MsgDbHelper; import com.d3.d3xmpp.dao.NewMsgDbHelper; import com.d3.d3xmpp.model.Friend; import com.d3.d3xmpp.model.User; import com.d3.d3xmpp.util.CircularImage; import com.d3.d3xmpp.util.Tool; import com.d3.d3xmpp.util.XmppLoadThread; import com.d3.d3xmpp.xmpp.XmppConnection; /** * @author MZH * */ public class FriendActivity extends BaseActivity { @D3View(click="onClick") Button operBtn; @D3View TextView nameView,sexView,signView,nickNameView,phoneView,emailView; @D3View CircularImage headView; private String username; private User friend; private FriendReceiver reciver; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.acti_friend); initTitle(); username = getIntent().getStringExtra("username"); nameView.setText(username); // ���յ�����Ϣ���¼����� reciver = new FriendReceiver(); registerReceiver(reciver,new IntentFilter("friendChange")); if (username.equals(Constants.USER_NAME)) { operBtn.setVisibility(View.GONE); } isFriend(); initData(); } public void isFriend(){ if (XmppConnection.getInstance().getFriendBothList().contains(new Friend(username))) { operBtn.setText("�Ƴ�ͨѶ¼"); } else { operBtn.setText("��ӵ�ͨѶ¼"); } } public void initData() { new XmppLoadThread(this) { @Override protected void result(Object object) { VCard vCard = (VCard)object; friend = new User(vCard); if (friend!=null) { if (friend.sex != null) { sexView.setText(friend.sex); } if (friend.intro != null) { signView.setText(friend.intro); } if (friend.nickname != null) { nickNameView.setText(friend.nickname); } if (friend.email != null) { emailView.setText(friend.email); } if (friend.mobile != null) { phoneView.setText(friend.mobile); } friend.showHead(headView); } } @Override protected Object load() { return XmppConnection.getInstance().getUserInfo(username); } }; } public void onClick(View v){ switch (v.getId()) { case R.id.operBtn: if (operBtn.getText().equals("��ӵ�ͨѶ¼")) { XmppConnection.getInstance().addUser(username); Tool.initToast(getApplicationContext(), "��ӳɹ����ȴ�ͨ����֤"); MyApplication.getInstance().sendBroadcast(new Intent("friendChange")); isFriend(); } else if (operBtn.getText().equals("�Ƴ�ͨѶ¼")){ XmppConnection.getInstance().removeUser(username); Tool.initToast(getApplicationContext(), "�Ƴ��ɹ�"); MyApplication.getInstance().sendBroadcast(new Intent("friendChange")); operBtn.setText("��ӵ�ͨѶ¼"); NewMsgDbHelper.getInstance(getApplicationContext()).delNewMsg(username); MyApplication.getInstance().sendBroadcast(new Intent("ChatNewMsg")); MsgDbHelper.getInstance(getApplicationContext()).delChatMsg(username); } break; default: break; } } private class FriendReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { isFriend(); } } }