@Override public boolean onMessageItemLongClick(Context context, UIMessage message) { Message[] messages = new Message[1]; messages[0] = message.getMessage(); if (message.getConversationType().equals(Conversation.ConversationType.PRIVATE)) { RongIM.getInstance().deleteRemoteMessages(message.getConversationType(), message.getTargetId(), messages, null); } else { RongIM.getInstance().deleteMessages(new int[]{message.getMessageId()}, null); } return false; } }).build();
@Override public void onOptionsItemClicked(int which) { if (which == 0) { @SuppressWarnings("deprecation") ClipboardManager clipboard = (ClipboardManager) view.getContext().getSystemService(Context.CLIPBOARD_SERVICE); clipboard.setText(((TestMessage) content).getContent()); } else if (which == 1) { RongIM.getInstance().deleteMessages(new int[] {message.getMessageId()}, null); } else if (which == 2) { RongIM.getInstance().recallMessage(message.getMessage(), getPushContent(view.getContext(), message)); } } }).show();
@Override public void onItemClick(View view, int position, CallSTerminateMessage content, UIMessage message) { if (content.getReason() == OTHER_DEVICE_HAD_ACCEPTED){ return; } RongCallSession profile = RongCallClient.getInstance().getCallSession(); if (profile != null && profile.getActiveTime() > 0) { Toast.makeText(view.getContext(), profile.getMediaType() == RongCallCommon.CallMediaType.AUDIO ? view.getContext().getString(R.string.rc_voip_call_audio_start_fail) : view.getContext().getString(R.string.rc_voip_call_video_start_fail), Toast.LENGTH_SHORT) .show(); return; } RongCallCommon.CallMediaType mediaType = content.getMediaType(); String action = null; if (mediaType.equals(RongCallCommon.CallMediaType.VIDEO)) { action = RongVoIPIntent.RONG_INTENT_ACTION_VOIP_SINGLEVIDEO; } else { action = RongVoIPIntent.RONG_INTENT_ACTION_VOIP_SINGLEAUDIO; } Intent intent = new Intent(action); intent.setPackage(view.getContext().getPackageName()); intent.putExtra("conversationType", message.getConversationType().getName().toLowerCase(Locale.US)); intent.putExtra("targetId", message.getTargetId()); intent.putExtra("callAction", RongCallAction.ACTION_OUTGOING_CALL.getName()); view.getContext().startActivity(intent); }
boolean enableMessageRecall = false; int messageRecallInterval = -1; boolean hasSent = (!message.getSentStatus().equals(Message.SentStatus.SENDING)) && (!message.getSentStatus().equals(Message.SentStatus.FAILED)); && (normalTime - message.getSentTime()) <= messageRecallInterval * 1000 && message.getSenderUserId().equals(RongIM.getInstance().getCurrentUserId()) && !message.getConversationType().equals(Conversation.ConversationType.CUSTOMER_SERVICE) && !message.getConversationType().equals(Conversation.ConversationType.APP_PUBLIC_SERVICE) && !message.getConversationType().equals(Conversation.ConversationType.PUBLIC_SERVICE) && !message.getConversationType().equals(Conversation.ConversationType.SYSTEM) && !message.getConversationType().equals(Conversation.ConversationType.CHATROOM)) { items = new String[] {view.getContext().getResources().getString(io.rong.imkit.R.string.rc_dialog_item_message_copy), view.getContext().getResources().getString(io.rong.imkit.R.string.rc_dialog_item_message_delete), view.getContext().getResources().getString(io.rong.imkit.R.string.rc_dialog_item_message_recall)}; } else {
return; if (data.getMessageDirection() == Message.MessageDirection.SEND) { holder.message.setBackgroundResource(R.drawable.rc_ic_bubble_right); } else {
@Override public void onOptionsItemClicked(int which) { if (which == 0) RongIM.getInstance().deleteMessages(new int[] {message.getMessageId()}, null); } }).show();
@Override public void getContactCardInfoCallback(List<? extends UserInfo> list) { if (list != null && list.size() > 0) { UserInfo userInfo = list.get(0); if (userInfo != null && userInfo.getPortraitUri() != null) { /* 如果名片发送的推荐人头像信息,与本地数据库的对应头像信息不一致, 则优先显示本地数据库的对应头像信息 */ if (TextUtils.isEmpty(content.getImgUrl()) || !content.getImgUrl().equals(userInfo.getPortraitUri().toString())) { viewHolder.mImage.setAvatar(userInfo.getPortraitUri()); ((ContactMessage) (message.getContent())) .setImgUrl(userInfo.getPortraitUri().toString()); } // 如果本端设置了该用户信息的别名(备注、昵称),优先显示这个别名 if (!TextUtils.isEmpty(content.getName()) && !content.getName().equals(userInfo.getName())) { viewHolder.mName.setText(userInfo.getName()); } } } } });
TestMessageProvider.ViewHolder holder = (TestMessageProvider.ViewHolder) v.getTag(); if (data.getMessageDirection() == Message.MessageDirection.SEND) { holder.message.setBackgroundResource(io.rong.imkit.R.drawable.rc_ic_bubble_right); } else {
@Override public void onOptionsItemClicked(int which) { if (which == 0) RongIM.getInstance().deleteMessages(new int[]{message.getMessageId()}, null); } }).show();
if (message.getMessageDirection() == Message.MessageDirection.RECEIVE) viewHolder.mLayout.setBackgroundResource(R.drawable.rc_ic_bubble_left_file); else