@Override protected void changePresenceReceive(User user) { if (user == null) return; if (ContacterManager.contacters.get(user.getJID()) == null) return; if (!user.isAvailable()) if (ContacterManager.contacters.get(user.getJID()).isAvailable()) Toast.makeText(this, (user.getName() == null) ? user.getJID() : user .getName() + "上线了", Toast.LENGTH_SHORT).show(); if (user.isAvailable()) if (!ContacterManager.contacters.get(user.getJID()).isAvailable()) Toast.makeText(this, (user.getName() == null) ? user.getJID() : user .getName() + "下线了", Toast.LENGTH_SHORT).show(); refreshList(); }
@Override protected void deleteUserReceive(User user) { if (user == null) return; Toast.makeText(this, (user.getName() == null) ? user.getJID() : user.getName() + "被删除了", Toast.LENGTH_SHORT).show(); refreshList(); }
@Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { switch (v.getId()) { case R.id.main_expand_list: ExpandableListView.ExpandableListContextMenuInfo info = (ExpandableListView.ExpandableListContextMenuInfo) menuInfo; int type = ExpandableListView .getPackedPositionType(info.packedPosition); if (type == ExpandableListView.PACKED_POSITION_TYPE_GROUP) { int gId = ExpandableListView .getPackedPositionGroup(info.packedPosition); String[] longClickItems = null; final String groupName = rGroups.get(gId).getName(); if (StringUtil.notEmpty(groupName) && !Constant.ALL_FRIEND.equals(groupName) && !Constant.NO_GROUP_FRIEND.equals(groupName)) { longClickItems = new String[] { "添加分组", "更改组名", }; } else { longClickItems = new String[] { "添加分组" }; } new AlertDialog.Builder(ContacterMainActivity.this) .setItems(longClickItems, new DialogInterface.OnClickListener() { @Override public void onClick( DialogInterface dialog, int which) { switch (which) { case 0: addNewGroup(); break; case 1: updateGroupNameA(groupName); break; } } }).setTitle("选项").show(); } else if (type == ExpandableListView.PACKED_POSITION_TYPE_CHILD) { String[] longClickItems = null; View vx = info.targetView; clickUser = (User) vx.findViewById(R.id.username).getTag(); showToast(clickUser.getJID() + "---"); if (StringUtil.notEmpty(clickUser.getGroupName()) && !Constant.ALL_FRIEND.equals(clickUser .getGroupName()) && !Constant.NO_GROUP_FRIEND.equals(clickUser .getGroupName())) { longClickItems = new String[] { "设置昵称", "添加好友", "删除好友", "移动到分组", "退出该组" }; } else { longClickItems = new String[] { "设置昵称", "添加好友", "删除好友", "移动到分组" }; } new AlertDialog.Builder(ContacterMainActivity.this) .setItems(longClickItems, new DialogInterface.OnClickListener() { @Override public void onClick( DialogInterface dialog, int which) { switch (which) { case 0: setNickname(clickUser); break; case 1: addSubscriber(); break; case 2: showDeleteDialog(clickUser); break; case 3: removeUserFromGroupUI(clickUser); removeUserFromGroup(clickUser, clickUser.getGroupName()); addToGroup(clickUser); break; case 4: removeUserFromGroupUI(clickUser); removeUserFromGroup(clickUser, clickUser.getGroupName()); break; } } }).setTitle("选项").show(); } break; case R.id.main_chat_room_list: String[] longClickItems = new String[] { "创建房间", "删除房间", "邀请好友", "房间改名" }; new AlertDialog.Builder(ContacterMainActivity.this) .setItems(longClickItems, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case 0: addChatRoom(); break; case 1: break; case 2: break; case 3: break; } } }).setTitle("选项").show(); break; default: break; } }