private void onMessageSuccess() { progressBar.setVisibility(View.GONE); statusView.setVisibility(View.GONE); // Show "1 Read" if this msg is a ding-type msg. if (EaseDingMessageHelper.get().isDingMessage(message) && ackedView != null) { ackedView.setVisibility(VISIBLE); List<String> userList = EaseDingMessageHelper.get().getAckUsers(message); int count = userList == null ? 0 : userList.size(); ackedView.setText(String.format(getContext().getString(R.string.group_ack_read_count), count)); } // Set ack-user list change listener. EaseDingMessageHelper.get().setUserUpdateListener(message, userUpdateListener); }
@Override public void onCmdMessageReceived(List<EMMessage> messages) { for (EMMessage message : messages) { // To handle group-ack msg. EaseDingMessageHelper.get().handleAckMessage(message); } } });
@Override protected void onResume() { super.onResume(); List<String> list = EaseDingMessageHelper.get().getAckUsers(msg); userList.clear(); if (list != null) { userList.addAll(list); } userAdapter.notifyDataSetChanged(); // Set ack-user change listener. EaseDingMessageHelper.get().setUserUpdateListener(msg, userUpdateListener); }
@Override protected void onPause() { super.onPause(); // Remove ack-user change listener. EaseDingMessageHelper.get().setUserUpdateListener(msg, null); }
@Override public void onBubbleClick(EMMessage message) { super.onBubbleClick(message); if (!EaseDingMessageHelper.get().isDingMessage(message)) { return; } // If this msg is a ding-type msg, click to show a list who has already read this message. Intent i = new Intent(getContext(), EaseDingAckUserListActivity.class); i.putExtra("msg", message); getContext().startActivity(i); }
EMLog.i(TAG, "To send the ding-type msg, content: " + msgContent); EMMessage dingMsg = EaseDingMessageHelper.get().createDingMessage(toChatUsername, msgContent); sendMessage(dingMsg);
@Override protected void handleReceiveMessage(EMMessage message) { if (!message.isAcked() && message.getChatType() == EMMessage.ChatType.Chat) { try { EMClient.getInstance().chatManager().ackMessageRead(message.getFrom(), message.getMsgId()); } catch (HyphenateException e) { e.printStackTrace(); } return; } // Send the group-ack cmd type msg if this msg is a ding-type msg. EaseDingMessageHelper.get().sendAckMessage(message); } }