cn.jpush.im.android.api.content.TextContent Java Examples

The following examples show how to use cn.jpush.im.android.api.content.TextContent. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ChatMsgActivity.java    From Android-IM with Apache License 2.0 6 votes vote down vote up
public void onEvent(MessageEvent event) {
    final Message message = event.getMessage();

    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            //创建一个消息对象
            myMessage = new MyMessage(((TextContent) message.getContent()).getText(), IMessage.MessageType.RECEIVE_TEXT);
            myMessage.setMessage(message);
            myMessage.setMsgID(message.getServerMessageId());
            myMessage.setText(((TextContent) message.getContent()).getText() + "");
            myMessage.setTimeString(TimeUtils.ms2date("MM-dd HH:mm", message.getCreateTime()));
            myMessage.setUserInfo(new DefaultUser(JMessageClient.getMyInfo().getUserName(), "DeadPool", imgRecrive));

            if (message.getContentType() == ContentType.text || message.getContentType().equals("text")) {
                mAdapter.addToStart(myMessage, true);
                mAdapter.notifyDataSetChanged();
            }
            //收到消息时,添加到集合
            list.add(myMessage);
        }

    });

    //do your own business
}
 
Example #2
Source File: JmessageFlutterPlugin.java    From jmessage-flutter-plugin with MIT License 5 votes vote down vote up
private void sendTextMessage(MethodCall call, Result result) {
  HashMap<String, Object> map = call.arguments();
  String text;
  Map<String, String> extras = null;
  MessageSendingOptions messageSendingOptions = null;
  Conversation conversation;

  try {
    JSONObject params = new JSONObject(map);
    conversation = JMessageUtils.createConversation(params);
    if (conversation == null) {
      handleResult(ERR_CODE_CONVERSATION, ERR_MSG_CONVERSATION, result);
      return;
    }

    text = params.getString("text");

    if (params.has("extras")) {
      extras = fromJson(params.getJSONObject("extras"));
    }

    if (params.has("messageSendingOptions")) {
      messageSendingOptions = toMessageSendingOptions(params.getJSONObject("messageSendingOptions"));
    }
  } catch (JSONException e) {
    e.printStackTrace();
    handleResult(ERR_CODE_PARAMETER, ERR_MSG_PARAMETER, result);
    return;
  }

  TextContent content = new TextContent(text);
  if (extras != null) {
    content.setExtras(extras);
  }

  sendMessage(conversation, content, messageSendingOptions, result);
}
 
Example #3
Source File: ForwardMsgActivity.java    From o2oa with GNU Affero General Public License v3.0 5 votes vote down vote up
private void setBusinessCard(String name, final Intent intent, final Conversation conversation) {
    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.btn_cancel:
                    mDialog.dismiss();
                    break;
                case R.id.btn_sure:
                    mDialog.dismiss();
                    //把名片的userName和appKey通过extra发送给对方
                    TextContent content = new TextContent("推荐了一张名片");
                    content.setStringExtra("userName", intent.getStringExtra("userName"));
                    content.setStringExtra("appKey", intent.getStringExtra("appKey"));
                    content.setStringExtra("businessCard", "businessCard");

                    Message textMessage = conversation.createSendMessage(content);
                    MessageSendingOptions options = new MessageSendingOptions();
                    options.setNeedReadReceipt(false);
                    JMessageClient.sendMessage(textMessage, options);
                    textMessage.setOnSendCompleteCallback(new BasicCallback() {
                        @Override
                        public void gotResult(int i, String s) {
                            if (i == 0) {
                                Toast.makeText(ForwardMsgActivity.this, "发送成功", Toast.LENGTH_SHORT).show();
                            } else {
                                HandleResponseCode.onHandle(ForwardMsgActivity.this, i, false);
                            }
                        }
                    });
                    break;
            }
        }
    };
    mDialog = DialogCreator.createBusinessCardDialog(ForwardMsgActivity.this, listener, name,
            intent.getStringExtra("userName"), intent.getStringExtra("avatar"));
    mDialog.getWindow().setLayout((int) (0.8 * mWidth), WindowManager.LayoutParams.WRAP_CONTENT);
    mDialog.show();
}
 
Example #4
Source File: ChatMsgActivity.java    From Android-IM with Apache License 2.0 5 votes vote down vote up
private List<MyMessage> getMessages() {
    list = new ArrayList<>();
    for (int i = 0; i < conversation.getAllMessage().size(); i++) {
        MyMessage message;
        //根据消息判断接收方或者发送方类型
        if (conversation.getAllMessage().get(i).getDirect() == MessageDirect.send) {
            //判断消息是否撤回
            if (conversation.getAllMessage().get(i).getContent().getContentType().equals(prompt)) {
                message = new MyMessage(((PromptContent) conversation.getAllMessage().get(i).getContent()).getPromptText(), SEND_TEXT);

            } else {
                message = new MyMessage(((TextContent) conversation.getAllMessage().get(i).getContent()).getText(), SEND_TEXT);

            }
            Log.e("conversationT", ":" + conversation.getAllMessage().get(i).getContent().getContentType());
            message.setUserInfo(new DefaultUser(userName, "IronMan", (StringUtils.isNull(imgSend)) ? "R.drawable.ironman" : imgSend));
        } else {
            //判断消息是否撤回
            if (conversation.getAllMessage().get(i).getContent().getContentType().equals(prompt)) {
                message = new MyMessage(((PromptContent) conversation.getAllMessage().get(i).getContent()).getPromptText(), IMessage.MessageType.RECEIVE_TEXT);

            } else {
                message = new MyMessage(((TextContent) conversation.getAllMessage().get(i).getContent()).getText(), IMessage.MessageType.RECEIVE_TEXT);
            }
            message.setUserInfo(new DefaultUser(JMessageClient.getMyInfo().getUserName(), "DeadPool", (StringUtils.isNull(imgRecrive)) ? "R.drawable.ironman" : imgRecrive));

        }
        message.setPosition(i);
        message.setMessage(conversation.getAllMessage().get(i));
        message.setMsgID(conversation.getAllMessage().get(i).getServerMessageId());
        message.setTimeString(TimeUtils.ms2date("MM-dd HH:mm", conversation.getAllMessage().get(i).getCreateTime()));
        list.add(message);

    }
    Collections.reverse(list);
    conversation.resetUnreadCount();
    return list;
}
 
Example #5
Source File: ChatMsgActivity.java    From Android-IM with Apache License 2.0 5 votes vote down vote up
private void sendMessage(String msg) {
    TextContent content = new TextContent(msg);
    Message message1 = conversation.createSendMessage(content);
    final MyMessage myMessage = new MyMessage(msg, SEND_TEXT);
    myMessage.setMessage(message1);
    myMessage.setTimeString(TimeUtils.ms2date("MM-dd HH:mm", message1.getCreateTime()));
    myMessage.setUserInfo(new DefaultUser(JMessageClient.getMyInfo().getUserName(), "DeadPool", imgSend));

    message1.setOnSendCompleteCallback(new BasicCallback() {
        @Override
        public void gotResult(int i, String s) {
            if (i == 0) {
                mAdapter.addToStart(myMessage, true);
                mChatInput.getInputView().setText("");
                mChatInput.dismissMenuLayout();
                mChatInput.dismissEmojiLayout();
                mChatInput.dismissPhotoLayout();
                mChatInput.dismissRecordVoiceLayout();
                onHideKeyboard();
            } else {
                Log.e("发送失败?", s);
            }
        }
    });
    JMessageClient.sendMessage(message1);
    if (mData != null) {
        mData.clear();
    }
}
 
Example #6
Source File: ChatItemController.java    From o2oa with GNU Affero General Public License v3.0 4 votes vote down vote up
public void handleTextMsg(final Message msg, final ViewHolder holder, int position) {
    final String content = ((TextContent) msg.getContent()).getText();
    SimpleCommonUtils.spannableEmoticonFilter(holder.txtContent, content);
    holder.txtContent.setText(content);
    holder.txtContent.setTag(position);
    holder.txtContent.setOnLongClickListener(mLongClickListener);
    // 检查发送状态,发送方有重发机制
    if (msg.getDirect() == MessageDirect.send) {
        switch (msg.getStatus()) {
            case created:
                if (null != mUserInfo) {
                    holder.sendingIv.setVisibility(View.GONE);
                    holder.resend.setVisibility(View.VISIBLE);
                    holder.text_receipt.setVisibility(View.GONE);
                }
                break;
            case send_success:
                holder.text_receipt.setVisibility(View.GONE);
                holder.sendingIv.clearAnimation();
                holder.sendingIv.setVisibility(View.GONE);
                holder.resend.setVisibility(View.GONE);
                break;
            case send_fail:
                holder.text_receipt.setVisibility(View.GONE);
                holder.sendingIv.clearAnimation();
                holder.sendingIv.setVisibility(View.GONE);
                holder.resend.setVisibility(View.VISIBLE);
                break;
            case send_going:
                sendingTextOrVoice(holder, msg);
                break;
            default:
        }

    } else {
        if (mConv.getType() == ConversationType.group) {
            if (msg.isAtMe()) {
                mConv.updateMessageExtra(msg, "isRead", true);
            }
            if (msg.isAtAll()) {
                mConv.updateMessageExtra(msg, "isReadAtAll", true);
            }
            holder.displayName.setVisibility(View.VISIBLE);
            if (TextUtils.isEmpty(msg.getFromUser().getNickname())) {
                holder.displayName.setText(msg.getFromUser().getUserName());
            } else {
                holder.displayName.setText(msg.getFromUser().getNickname());
            }
        }
    }
    if (holder.resend != null) {
        holder.resend.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                mAdapter.showResendDialog(holder, msg);
            }
        });
    }
}
 
Example #7
Source File: FriendListActivity.java    From o2oa with GNU Affero General Public License v3.0 4 votes vote down vote up
private void setBusinessCard(final FriendEntry entry, final Conversation conversation) {
    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.btn_cancel:
                    mDialog.dismiss();
                    break;
                case R.id.btn_sure:
                    mDialog.dismiss();
                    //把名片的userName和appKey通过extra发送给对方
                    TextContent content = new TextContent("推荐了一张名片");
                    content.setStringExtra("userName", entry.username);
                    content.setStringExtra("appKey", entry.appKey);
                    content.setStringExtra("businessCard", "businessCard");

                    Message textMessage = conversation.createSendMessage(content);
                    MessageSendingOptions options = new MessageSendingOptions();
                    options.setNeedReadReceipt(false);
                    JMessageClient.sendMessage(textMessage, options);
                    textMessage.setOnSendCompleteCallback(new BasicCallback() {
                        @Override
                        public void gotResult(int i, String s) {
                            if (i == 0) {
                                SharePreferenceManager.setIsOpen(true);
                                Toast.makeText(FriendListActivity.this, "发送成功", Toast.LENGTH_SHORT).show();
                                finish();
                            } else {
                                HandleResponseCode.onHandle(FriendListActivity.this, i, false);
                            }
                        }
                    });
                    break;
            }
        }
    };
    mDialog = DialogCreator.createBusinessCardDialog(FriendListActivity.this, listener, conversation.getTitle(),
            entry.username, entry.avatar);
    mDialog.getWindow().setLayout((int) (0.8 * mWidth), WindowManager.LayoutParams.WRAP_CONTENT);
    mDialog.show();
}
 
Example #8
Source File: SearchFriendBusinessActivity.java    From o2oa with GNU Affero General Public License v3.0 4 votes vote down vote up
private void setBusinessCard(final UserInfo info, final Conversation conversation) {
    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.btn_cancel:
                    mDialog.dismiss();
                    break;
                case R.id.btn_sure:
                    mDialog.dismiss();
                    //把名片的userName和appKey通过extra发送给对方
                    TextContent content = new TextContent("推荐了一张名片");
                    content.setStringExtra("userName", info.getUserName());
                    content.setStringExtra("appKey", info.getAppKey());
                    content.setStringExtra("businessCard", "businessCard");

                    Message textMessage = conversation.createSendMessage(content);
                    MessageSendingOptions options = new MessageSendingOptions();
                    options.setNeedReadReceipt(false);
                    JMessageClient.sendMessage(textMessage, options);
                    textMessage.setOnSendCompleteCallback(new BasicCallback() {
                        @Override
                        public void gotResult(int i, String s) {
                            if (i == 0) {
                                SharePreferenceManager.setIsOpen(true);
                                Toast.makeText(SearchFriendBusinessActivity.this, "发送成功", Toast.LENGTH_SHORT).show();
                                finish();
                            } else {
                                HandleResponseCode.onHandle(SearchFriendBusinessActivity.this, i, false);
                            }
                        }
                    });
                    break;
            }
        }
    };
    mDialog = DialogCreator.createBusinessCardDialog(SearchFriendBusinessActivity.this, listener, conversation.getTitle(),
            info.getUserName(), info.getAvatarFile().getAbsolutePath());
    mDialog.getWindow().setLayout((int) (0.8 * mWidth), WindowManager.LayoutParams.WRAP_CONTENT);
    mDialog.show();
}
 
Example #9
Source File: SearchMoreFriendsActivity.java    From o2oa with GNU Affero General Public License v3.0 4 votes vote down vote up
public void setSearchContactsBusiness(final Intent intent, final GroupInfo groupInfo, final UserInfo userInfo) {
    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.btn_cancel:
                    mDialog.dismiss();
                    break;
                case R.id.btn_sure:
                    mDialog.dismiss();
                    //把名片的userName和appKey通过extra发送给对方
                    TextContent content = new TextContent("推荐了一张名片");
                    content.setStringExtra("userName", intent.getStringExtra("userName"));
                    content.setStringExtra("appKey", intent.getStringExtra("appKey"));
                    content.setStringExtra("businessCard", "businessCard");
                    Conversation conversation;
                    if (userInfo == null) {
                        conversation = JMessageClient.getGroupConversation(groupInfo.getGroupID());
                        if (conversation == null) {
                            conversation = Conversation.createGroupConversation(groupInfo.getGroupID());
                            EventBus.getDefault().post(new Event.Builder()
                                    .setType(EventType.createConversation)
                                    .setConversation(conversation)
                                    .build());
                        }
                    } else {
                        conversation = JMessageClient.getSingleConversation(userInfo.getUserName(), userInfo.getAppKey());
                        if (conversation == null) {
                            conversation = Conversation.createSingleConversation(userInfo.getUserName(), userInfo.getAppKey());
                            EventBus.getDefault().post(new Event.Builder()
                                    .setType(EventType.createConversation)
                                    .setConversation(conversation)
                                    .build());
                        }
                    }

                    Message textMessage = conversation.createSendMessage(content);
                    MessageSendingOptions options = new MessageSendingOptions();
                    options.setNeedReadReceipt(false);
                    JMessageClient.sendMessage(textMessage, options);
                    textMessage.setOnSendCompleteCallback(new BasicCallback() {
                        @Override
                        public void gotResult(int i, String s) {
                            if (i == 0) {
                                Toast.makeText(SearchMoreFriendsActivity.this, "发送成功", Toast.LENGTH_SHORT).show();
                            } else {
                                HandleResponseCode.onHandle(SearchMoreFriendsActivity.this, i, false);
                            }
                        }
                    });
                    break;
            }
        }
    };
    String name;
    if (userInfo == null) {
        name = groupInfo.getGroupName();
    } else {
        name = userInfo.getDisplayName();
    }
    mDialog = DialogCreator.createBusinessCardDialog(SearchMoreFriendsActivity.this, listener, name,
            intent.getStringExtra("userName"), intent.getStringExtra("avatar"));
    mDialog.getWindow().setLayout((int) (0.8 * mWidth), WindowManager.LayoutParams.WRAP_CONTENT);
    mDialog.show();
}
 
Example #10
Source File: SearchMoreGroupActivity.java    From o2oa with GNU Affero General Public License v3.0 4 votes vote down vote up
public void setSearchContactsBusiness(final Intent intent, final GroupInfo groupInfo, final UserInfo userInfo) {
    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.btn_cancel:
                    mDialog.dismiss();
                    break;
                case R.id.btn_sure:
                    mDialog.dismiss();
                    //把名片的userName和appKey通过extra发送给对方
                    TextContent content = new TextContent("推荐了一张名片");
                    content.setStringExtra("userName", intent.getStringExtra("userName"));
                    content.setStringExtra("appKey", intent.getStringExtra("appKey"));
                    content.setStringExtra("businessCard", "businessCard");
                    Conversation conversation;
                    if (userInfo == null) {
                        conversation = JMessageClient.getGroupConversation(groupInfo.getGroupID());
                        if (conversation == null) {
                            conversation = Conversation.createGroupConversation(groupInfo.getGroupID());
                            EventBus.getDefault().post(new Event.Builder()
                                    .setType(EventType.createConversation)
                                    .setConversation(conversation)
                                    .build());
                        }
                    } else {
                        conversation = JMessageClient.getSingleConversation(userInfo.getUserName(), userInfo.getAppKey());
                        if (conversation == null) {
                            conversation = Conversation.createSingleConversation(userInfo.getUserName(), userInfo.getAppKey());
                            EventBus.getDefault().post(new Event.Builder()
                                    .setType(EventType.createConversation)
                                    .setConversation(conversation)
                                    .build());
                        }
                    }

                    Message textMessage = conversation.createSendMessage(content);
                    MessageSendingOptions options = new MessageSendingOptions();
                    options.setNeedReadReceipt(false);
                    JMessageClient.sendMessage(textMessage, options);
                    textMessage.setOnSendCompleteCallback(new BasicCallback() {
                        @Override
                        public void gotResult(int i, String s) {
                            if (i == 0) {
                                Toast.makeText(SearchMoreGroupActivity.this, "发送成功", Toast.LENGTH_SHORT).show();
                            } else {
                                HandleResponseCode.onHandle(SearchMoreGroupActivity.this, i, false);
                            }
                        }
                    });
                    break;
            }
        }
    };
    String name;
    if (userInfo == null) {
        name = groupInfo.getGroupName();
    } else {
        name = userInfo.getDisplayName();
    }
    mDialog = DialogCreator.createBusinessCardDialog(SearchMoreGroupActivity.this, listener, name,
            intent.getStringExtra("userName"), intent.getStringExtra("avatar"));
    mDialog.getWindow().setLayout((int) (0.8 * mWidth), WindowManager.LayoutParams.WRAP_CONTENT);
    mDialog.show();
}
 
Example #11
Source File: MessageEventReceiver.java    From Android-IM with Apache License 2.0 4 votes vote down vote up
public void onEvent(MessageEvent event){
    Message msg = event.getMessage();

    switch (msg.getContentType()){
        case text:
            //处理文字消息
            TextContent textContent = (TextContent) msg.getContent();
            textContent.getText();
            break;
        case image:
            //处理图片消息
            ImageContent imageContent = (ImageContent) msg.getContent();
            imageContent.getLocalPath();//图片本地地址
            imageContent.getLocalThumbnailPath();//图片对应缩略图的本地地址
            break;
        case voice:
            //处理语音消息
            VoiceContent voiceContent = (VoiceContent) msg.getContent();
            voiceContent.getLocalPath();//语音文件本地地址
            voiceContent.getDuration();//语音文件时长
            break;
        case custom:
            //处理自定义消息
            CustomContent customContent = (CustomContent) msg.getContent();
            customContent.getNumberValue("custom_num"); //获取自定义的值
            customContent.getBooleanValue("custom_boolean");
            customContent.getStringValue("custom_string");
            break;
        case eventNotification:
            //处理事件提醒消息
            EventNotificationContent eventNotificationContent = (EventNotificationContent)msg.getContent();
            switch (eventNotificationContent.getEventNotificationType()){
                case group_member_added:
                    //群成员加群事件
                    break;
                case group_member_removed:
                    //群成员被踢事件
                    break;
                case group_member_exit:
                    //群成员退群事件
                    break;
            }
            break;
    }
}
 
Example #12
Source File: ChatActivity.java    From jmessage-android-uikit with MIT License 4 votes vote down vote up
@Override
    public void onClick(View v) {
        if (v.getId() == IdHelper.getViewID(mContext, "jmui_return_btn")) {
            mConv.resetUnreadCount();
            dismissSoftInput();
            JMessageClient.exitConversation();
            //发送保存为草稿事件到会话列表
            if (mIsSingle) {
                EventBus.getDefault().post(new Event.DraftEvent(mTargetId, mTargetAppKey,
                        mChatView.getChatInput()));
            } else {
                EventBus.getDefault().post(new Event.DraftEvent(mGroupId, mChatView.getChatInput()));
            }
            finish();
        } else if (v.getId() == IdHelper.getViewID(mContext, "jmui_right_btn")) {
            if (mChatView.getMoreMenu().getVisibility() == View.VISIBLE) {
                mChatView.dismissMoreMenu();
            }
            dismissSoftInput();
            //TODO
//            startChatDetailActivity(mTargetId, mTargetAppKey, mGroupId);
            // 切换输入
        } else if (v.getId() == IdHelper.getViewID(mContext, "jmui_switch_voice_ib")) {
            mChatView.dismissMoreMenu();
            isInputByKeyBoard = !isInputByKeyBoard;
            //当前为语音输入,点击后切换为文字输入,弹出软键盘
            if (isInputByKeyBoard) {
                mChatView.isKeyBoard();
                showSoftInputAndDismissMenu();
            } else {
                //否则切换到语音输入
                mChatView.notKeyBoard(mConv, mChatAdapter, mChatView);
                if (mShowSoftInput) {
                    if (mImm != null) {
                        mImm.hideSoftInputFromWindow(mChatView.getInputView().getWindowToken(), 0); //强制隐藏键盘
                        mShowSoftInput = false;
                    }
                } else if (mChatView.getMoreMenu().getVisibility() == View.VISIBLE) {
                    mChatView.dismissMoreMenu();
                }
                Log.i(TAG, "setConversation success");
            }
            // 发送文本消息
        } else if (v.getId() == IdHelper.getViewID(mContext, "jmui_send_msg_btn")) {
            String msgContent = mChatView.getChatInput();
            mChatView.clearInput();
            mChatView.setToBottom();
            if (msgContent.equals("")) {
                return;
            }
            TextContent content = new TextContent(msgContent);
            final Message msg = mConv.createSendMessage(content);
            mChatAdapter.addMsgToList(msg);
            JMessageClient.sendMessage(msg);
            // 点击添加按钮,弹出更多选项菜单
        } else if (v.getId() == IdHelper.getViewID(mContext, "jmui_add_file_btn")) {
            //如果在语音输入时点击了添加按钮,则显示菜单并切换到输入框
            if (!isInputByKeyBoard) {
                mChatView.isKeyBoard();
                isInputByKeyBoard = true;
                mChatView.showMoreMenu();
            } else {
                //如果弹出软键盘 则隐藏软键盘
                if (mChatView.getMoreMenu().getVisibility() != View.VISIBLE) {
                    dismissSoftInputAndShowMenu();
                    mChatView.focusToInput(false);
                    //如果弹出了更多选项菜单,则隐藏菜单并显示软键盘
                } else {
                    showSoftInputAndDismissMenu();
                }
            }
        } else if (v.getId() == IdHelper.getViewID(mContext, "jmui_pick_from_camera_btn")) {
            takePhoto();
            if (mChatView.getMoreMenu().getVisibility() == View.VISIBLE) {
                mChatView.dismissMoreMenu();
            }
        } else if (v.getId() == IdHelper.getViewID(mContext, "jmui_pick_from_local_btn")){
            if (mChatView.getMoreMenu().getVisibility() == View.VISIBLE) {
                mChatView.dismissMoreMenu();
            }
            Intent intent = new Intent();
            if (mIsSingle) {
                intent.putExtra(TARGET_ID, mTargetId);
                intent.putExtra(TARGET_APP_KEY, mTargetAppKey);
            } else {
                intent.putExtra(GROUP_ID, mGroupId);
            }
//            if (!FileHelper.isSdCardExist()) {
//                Toast.makeText(this, IdHelper.getString(mContext, "sdcard_not_exist_toast"), Toast.LENGTH_SHORT).show();
//            } else {
//                intent.setClass(this, PickPictureTotalActivity.class);
//                startActivityForResult(intent, REQUEST_CODE_SELECT_PICTURE);
//            }
        }
    }
 
Example #13
Source File: MsgListAdapter.java    From jmessage-android-uikit with MIT License 4 votes vote down vote up
private void handleTextMsg(final Message msg, final ViewHolder holder, int position) {
    final String content = ((TextContent) msg.getContent()).getText();
    holder.txtContent.setText(content);
    holder.txtContent.setTag(position);
    holder.txtContent.setOnLongClickListener(mLongClickListener);
    // 检查发送状态,发送方有重发机制
    if (msg.getDirect() == MessageDirect.send) {
        switch (msg.getStatus()) {
            case send_success:
                holder.sendingIv.clearAnimation();
                holder.sendingIv.setVisibility(View.GONE);
                holder.resend.setVisibility(View.GONE);
                break;
            case send_fail:
                holder.sendingIv.clearAnimation();
                holder.sendingIv.setVisibility(View.GONE);
                holder.resend.setVisibility(View.VISIBLE);
                break;
            case send_going:
                sendingTextOrVoice(holder, msg);
                break;
            default:
        }
        // 点击重发按钮,重发消息
        holder.resend.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                showResendDialog(holder, msg);
            }
        });

    } else {
        if (mIsGroup) {
            holder.displayName.setVisibility(View.VISIBLE);
            if (TextUtils.isEmpty(msg.getFromUser().getNickname())) {
                holder.displayName.setText(msg.getFromUser().getUserName());
            } else {
                holder.displayName.setText(msg.getFromUser().getNickname());
            }
        }
    }
}