com.hyphenate.chat.EMGroup Java Examples

The following examples show how to use com.hyphenate.chat.EMGroup. 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: MyEaseChatFragment.java    From Social with Apache License 2.0 6 votes vote down vote up
/**
 * 点击进入群组详情
 *
 */
protected void toGroupDetails() {
    if (chatType == EaseConstant.CHATTYPE_GROUP) {
        EMGroup group = EMClient.getInstance().groupManager().getGroup(toChatUsername);
        if (group == null) {
            return;
        }
        if(chatFragmentListener != null){
            chatFragmentListener.onEnterToChatDetails();
        }
    }else if(chatType == EaseConstant.CHATTYPE_CHATROOM){
        if(chatFragmentListener != null){
            chatFragmentListener.onEnterToChatDetails();
        }
    }
}
 
Example #2
Source File: EaseChatFragment.java    From Social with Apache License 2.0 6 votes vote down vote up
/**
 * 点击进入群组详情
 * 
 */
protected void toGroupDetails() {
    if (chatType == EaseConstant.CHATTYPE_GROUP) {
        EMGroup group = EMClient.getInstance().groupManager().getGroup(toChatUsername);
        if (group == null) {
            Toast.makeText(getActivity(), R.string.gorup_not_found, 0).show();
            return;
        }
        if(chatFragmentListener != null){
            chatFragmentListener.onEnterToChatDetails();
        }
    }else if(chatType == EaseConstant.CHATTYPE_CHATROOM){
    	if(chatFragmentListener != null){
    		chatFragmentListener.onEnterToChatDetails();
    	}
    }
}
 
Example #3
Source File: EaseChatFragment.java    From Study_Android_Demo with Apache License 2.0 6 votes vote down vote up
/**
 * send @ message, only support group chat message
 * @param content
 */
@SuppressWarnings("ConstantConditions")
private void sendAtMessage(String content){
    if(chatType != EaseConstant.CHATTYPE_GROUP){
        EMLog.e(TAG, "only support group chat message");
        return;
    }
    EMMessage message = EMMessage.createTxtSendMessage(content, toChatUsername);
    EMGroup group = EMClient.getInstance().groupManager().getGroup(toChatUsername);
    if(EMClient.getInstance().getCurrentUser().equals(group.getOwner()) && EaseAtMessageHelper.get().containsAtAll(content)){
        message.setAttribute(EaseConstant.MESSAGE_ATTR_AT_MSG, EaseConstant.MESSAGE_ATTR_VALUE_AT_MSG_ALL);
    }else {
        message.setAttribute(EaseConstant.MESSAGE_ATTR_AT_MSG,
                EaseAtMessageHelper.get().atListToJsonArray(EaseAtMessageHelper.get().getAtMessageUsernames(content)));
    }
    sendMessage(message);
    
}
 
Example #4
Source File: EaseChatFragment.java    From Study_Android_Demo with Apache License 2.0 6 votes vote down vote up
/**
 * open group detail
 * 
 */
protected void toGroupDetails() {
    if (chatType == EaseConstant.CHATTYPE_GROUP) {
        EMGroup group = EMClient.getInstance().groupManager().getGroup(toChatUsername);
        if (group == null) {
            Toast.makeText(getActivity(), R.string.gorup_not_found, Toast.LENGTH_SHORT).show();
            return;
        }
        if(chatFragmentHelper != null){
            chatFragmentHelper.onEnterToChatDetails();
        }
    }else if(chatType == EaseConstant.CHATTYPE_CHATROOM){
    	if(chatFragmentHelper != null){
    	    chatFragmentHelper.onEnterToChatDetails();
    	}
    }
}
 
Example #5
Source File: EaseChatFragment.java    From nono-android with GNU General Public License v3.0 6 votes vote down vote up
/**
 * 点击进入群组详情
 * 
 */
protected void toGroupDetails() {
    if (chatType == EaseConstant.CHATTYPE_GROUP) {
        EMGroup group = EMClient.getInstance().groupManager().getGroup(toChatUsername);
        if (group == null) {
            Toast.makeText(getActivity(), R.string.gorup_not_found, 0).show();
            return;
        }
        if(chatFragmentListener != null){
            chatFragmentListener.onEnterToChatDetails();
        }
    }else if(chatType == EaseConstant.CHATTYPE_CHATROOM){
    	if(chatFragmentListener != null){
    		chatFragmentListener.onEnterToChatDetails();
    	}
    }
}
 
Example #6
Source File: MyEaseConversationAdapter.java    From Social with Apache License 2.0 4 votes vote down vote up
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        convertView = LayoutInflater.from(getContext()).inflate(com.hyphenate.easeui.R.layout.ease_row_chat_history, parent, false);
    }
    ViewHolder holder = (ViewHolder) convertView.getTag();
    if (holder == null) {
        holder = new ViewHolder();
        holder.name = (TextView) convertView.findViewById(com.hyphenate.easeui.R.id.name);
        holder.unreadLabel = (TextView) convertView.findViewById(com.hyphenate.easeui.R.id.unread_msg_number);
        holder.message = (TextView) convertView.findViewById(com.hyphenate.easeui.R.id.message);
        holder.time = (TextView) convertView.findViewById(com.hyphenate.easeui.R.id.time);
        holder.avatar = (ImageView) convertView.findViewById(com.hyphenate.easeui.R.id.avatar);
        holder.msgState = convertView.findViewById(com.hyphenate.easeui.R.id.msg_state);
        holder.list_itease_layout = (RelativeLayout) convertView.findViewById(com.hyphenate.easeui.R.id.list_itease_layout);
        convertView.setTag(holder);
    }
    holder.list_itease_layout.setBackgroundResource(com.hyphenate.easeui.R.drawable.ease_mm_listitem);

    // 获取与此用户/群组的会话
    EMConversation conversation = getItem(position);
    // 获取用户username或者群组groupid
    String username = conversation.getUserName();

    if (conversation.getType() == EMConversation.EMConversationType.GroupChat) {
        // 群聊消息,显示群聊头像
        //Glide.with(getContext()).load
        //holder.avatar.setImageResource(com.hyphenate.easeui.R.drawable.ease_group_icon);
        Glide.with(getContext()).load(SharedPreferenceUtil.getGroupImgPath(conversation.getUserName())).into(holder.avatar);
        EMGroup group = EMClient.getInstance().groupManager().getGroup(username);
        holder.name.setText(group != null ? group.getGroupName() : username);
    } else if(conversation.getType() == EMConversation.EMConversationType.ChatRoom){
        holder.avatar.setImageResource(com.hyphenate.easeui.R.drawable.ease_group_icon);
        EMChatRoom room = EMClient.getInstance().chatroomManager().getChatRoom(username);
        holder.name.setText(room != null && !TextUtils.isEmpty(room.getName()) ? room.getName() : username);
    }else {
        EaseUserUtils.setUserAvatar(getContext(), username, holder.avatar);
        EaseUserUtils.setUserNick(username, holder.name);
    }

    if (conversation.getUnreadMsgCount() > 0) {
        // 显示与此用户的消息未读数
        holder.unreadLabel.setText(String.valueOf(conversation.getUnreadMsgCount()));
        holder.unreadLabel.setVisibility(View.VISIBLE);
    } else {
        holder.unreadLabel.setVisibility(View.INVISIBLE);
    }

    if (conversation.getAllMsgCount() != 0) {
        // 把最后一条消息的内容作为item的message内容
        EMMessage lastMessage = conversation.getLastMessage();
        holder.message.setText(EaseSmileUtils.getSmiledText(getContext(), EaseCommonUtils.getMessageDigest(lastMessage, (this.getContext()))),
                TextView.BufferType.SPANNABLE);

        holder.time.setText(DateUtils.getTimestampString(new Date(lastMessage.getMsgTime())));
        if (lastMessage.direct() == EMMessage.Direct.SEND && lastMessage.status() == EMMessage.Status.FAIL) {
            holder.msgState.setVisibility(View.VISIBLE);
        } else {
            holder.msgState.setVisibility(View.GONE);
        }
    }

    //设置自定义属性
    holder.name.setTextColor(primaryColor);
    holder.message.setTextColor(secondaryColor);
    holder.time.setTextColor(timeColor);
    if(primarySize != 0)
        holder.name.setTextSize(TypedValue.COMPLEX_UNIT_PX, primarySize);
    if(secondarySize != 0)
        holder.message.setTextSize(TypedValue.COMPLEX_UNIT_PX, secondarySize);
    if(timeSize != 0)
        holder.time.setTextSize(TypedValue.COMPLEX_UNIT_PX, timeSize);

    return convertView;
}
 
Example #7
Source File: AddGroupActivity.java    From Social with Apache License 2.0 4 votes vote down vote up
@Override
public void onClick(View view) {
    int id = view.getId();
    switch (id){
        case R.id.id_add_group_iv_group_img:
            CommentUtil.startPicChoiceIntent(this);
            break;
        case R.id.id_add_group_btn_add:
            groupname = et_groupname.getText().toString();
            if (groupname.equals("")) {new Dialog(this,"Tips","请输入群名称").show(); return;}
            description = et_group_description.getText().toString();
            if (description.equals("")) {new Dialog(this,"Tips","请输入群介绍").show(); return; }
            point = tv_choose_point.getText().toString();
            if (point.equals("请选择")) {new Dialog(this,"Tips","请选择群组地点").show(); return;}
            if (rb_private_1.isChecked()){
                group_type = 1;
            }else if (rb_private_2.isChecked()){
                group_type = 2;
            }else if (rb_public_1.isChecked()){
                group_type = 3;
            }else if (rb_public_2.isChecked()){
                group_type = 4;
            }

            showProgressDialog();

            try {
                EMGroupManager.EMGroupOptions option = new EMGroupManager.EMGroupOptions();
                option.maxUsers = 200;
                switch (group_type){
                    case 1:
                        option.style = EMGroupManager.EMGroupStyle.EMGroupStylePrivateMemberCanInvite;//私有群,群成员也能邀请人进群;
                        break;
                    case 2:
                        option.style = EMGroupManager.EMGroupStyle.EMGroupStylePrivateOnlyOwnerInvite;//私有群,只能群主邀请人进群;
                        break;
                    case 3:
                        option.style = EMGroupManager.EMGroupStyle.EMGroupStylePublicJoinNeedApproval;//公开群,加入此群除了群主邀请,只能通过申请加入此群;;
                        break;
                    case 4:
                        option.style = EMGroupManager.EMGroupStyle.EMGroupStylePublicOpenJoin ;//公开群,任何人都能加入此群。;
                        break;
                }

                //option.style = EMGroupManager.EMGroupStyle.EMGroupStylePrivateMemberCanInvite;//私有群,群成员也能邀请人进群;
                //option.style = EMGroupManager.EMGroupStyle.EMGroupStylePrivateOnlyOwnerInvite;//私有群,只能群主邀请人进群;
                //option.style = EMGroupManager.EMGroupStyle.EMGroupStylePublicJoinNeedApproval;//公开群,加入此群除了群主邀请,只能通过申请加入此群;;
                //option.style = EMGroupManager.EMGroupStyle.EMGroupStylePublicOpenJoin ;//公开群,任何人都能加入此群。;
                EMGroup group = EMClient.getInstance().groupManager().createGroup(groupname, description, new String[]{SharedPreferenceUtil.getUserName()}, "reason", option);
                Log.d("AddGroupActivity", "group_id = " + group.getGroupId() + "\n" + "group_name = " + group.getGroupName()
                        + "\n" + "group_desc = " + group.getDescription() + "\n" + "group_owner = " + group.getOwner());
                hx_group_id = group.getGroupId();
            }catch (HyphenateException e){
                e.printStackTrace();
            }

           addGroup();
            break;
        case R.id.id_add_group_tv_choose_point:
            Intent intent = new Intent(this,ChoosePointActivity.class);
            startActivityForResult(intent,REQUESTCODE_CHOOSE_POINT);
            break;
    }
}
 
Example #8
Source File: EaseConversationAdapater.java    From Social with Apache License 2.0 4 votes vote down vote up
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        convertView = LayoutInflater.from(getContext()).inflate(R.layout.ease_row_chat_history, parent, false);
    }
    ViewHolder holder = (ViewHolder) convertView.getTag();
    if (holder == null) {
        holder = new ViewHolder();
        holder.name = (TextView) convertView.findViewById(R.id.name);
        holder.unreadLabel = (TextView) convertView.findViewById(R.id.unread_msg_number);
        holder.message = (TextView) convertView.findViewById(R.id.message);
        holder.time = (TextView) convertView.findViewById(R.id.time);
        holder.avatar = (ImageView) convertView.findViewById(R.id.avatar);
        holder.msgState = convertView.findViewById(R.id.msg_state);
        holder.list_itease_layout = (RelativeLayout) convertView.findViewById(R.id.list_itease_layout);
        convertView.setTag(holder);
    }
    holder.list_itease_layout.setBackgroundResource(R.drawable.ease_mm_listitem);

    // 获取与此用户/群组的会话
    EMConversation conversation = getItem(position);
    // 获取用户username或者群组groupid
    String username = conversation.getUserName();
    
    if (conversation.getType() == EMConversationType.GroupChat) {
        // 群聊消息,显示群聊头像
        //Glide.with(getContext()).load
        holder.avatar.setImageResource(R.drawable.ease_group_icon);
        EMGroup group = EMClient.getInstance().groupManager().getGroup(username);
        holder.name.setText(group != null ? group.getGroupName() : username);
    } else if(conversation.getType() == EMConversationType.ChatRoom){
        holder.avatar.setImageResource(R.drawable.ease_group_icon);
        EMChatRoom room = EMClient.getInstance().chatroomManager().getChatRoom(username);
        holder.name.setText(room != null && !TextUtils.isEmpty(room.getName()) ? room.getName() : username);
    }else {
        EaseUserUtils.setUserAvatar(getContext(), username, holder.avatar);
        EaseUserUtils.setUserNick(username, holder.name);
    }

    if (conversation.getUnreadMsgCount() > 0) {
        // 显示与此用户的消息未读数
        holder.unreadLabel.setText(String.valueOf(conversation.getUnreadMsgCount()));
        holder.unreadLabel.setVisibility(View.VISIBLE);
    } else {
        holder.unreadLabel.setVisibility(View.INVISIBLE);
    }

    if (conversation.getAllMsgCount() != 0) {
        // 把最后一条消息的内容作为item的message内容
        EMMessage lastMessage = conversation.getLastMessage();
        holder.message.setText(EaseSmileUtils.getSmiledText(getContext(), EaseCommonUtils.getMessageDigest(lastMessage, (this.getContext()))),
                BufferType.SPANNABLE);

        holder.time.setText(DateUtils.getTimestampString(new Date(lastMessage.getMsgTime())));
        if (lastMessage.direct() == EMMessage.Direct.SEND && lastMessage.status() == EMMessage.Status.FAIL) {
            holder.msgState.setVisibility(View.VISIBLE);
        } else {
            holder.msgState.setVisibility(View.GONE);
        }
    }
    
    //设置自定义属性
    holder.name.setTextColor(primaryColor);
    holder.message.setTextColor(secondaryColor);
    holder.time.setTextColor(timeColor);
    if(primarySize != 0)
        holder.name.setTextSize(TypedValue.COMPLEX_UNIT_PX, primarySize);
    if(secondarySize != 0)
        holder.message.setTextSize(TypedValue.COMPLEX_UNIT_PX, secondarySize);
    if(timeSize != 0)
        holder.time.setTextSize(TypedValue.COMPLEX_UNIT_PX, timeSize);

    return convertView;
}
 
Example #9
Source File: EaseConversationAdapter.java    From Study_Android_Demo with Apache License 2.0 4 votes vote down vote up
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        convertView = LayoutInflater.from(getContext()).inflate(R.layout.ease_row_chat_history, parent, false);
    }
    ViewHolder holder = (ViewHolder) convertView.getTag();
    if (holder == null) {
        holder = new ViewHolder();
        holder.name = (TextView) convertView.findViewById(R.id.name);
        holder.unreadLabel = (TextView) convertView.findViewById(R.id.unread_msg_number);
        holder.message = (TextView) convertView.findViewById(R.id.message);
        holder.time = (TextView) convertView.findViewById(R.id.time);
        holder.avatar = (ImageView) convertView.findViewById(R.id.avatar);
        holder.msgState = convertView.findViewById(R.id.msg_state);
        holder.list_itease_layout = (RelativeLayout) convertView.findViewById(R.id.list_itease_layout);
        holder.motioned = (TextView) convertView.findViewById(R.id.mentioned);
        convertView.setTag(holder);
    }
    holder.list_itease_layout.setBackgroundResource(R.drawable.ease_mm_listitem);

    // get conversation
    EMConversation conversation = getItem(position);
    // get username or group id
    String username = conversation.getUserName();
    
    if (conversation.getType() == EMConversationType.GroupChat) {
        String groupId = conversation.getUserName();
        if(EaseAtMessageHelper.get().hasAtMeMsg(groupId)){
            holder.motioned.setVisibility(View.VISIBLE);
        }else{
            holder.motioned.setVisibility(View.GONE);
        }
        // group message, show group avatar
        holder.avatar.setImageResource(R.drawable.ease_group_icon);
        EMGroup group = EMClient.getInstance().groupManager().getGroup(username);
        holder.name.setText(group != null ? group.getGroupName() : username);
    } else if(conversation.getType() == EMConversationType.ChatRoom){
        holder.avatar.setImageResource(R.drawable.ease_group_icon);
        EMChatRoom room = EMClient.getInstance().chatroomManager().getChatRoom(username);
        holder.name.setText(room != null && !TextUtils.isEmpty(room.getName()) ? room.getName() : username);
        holder.motioned.setVisibility(View.GONE);
    }else {
        EaseUserUtils.setUserAvatar(getContext(), username, holder.avatar);
        EaseUserUtils.setUserNick(username, holder.name);
        holder.motioned.setVisibility(View.GONE);
    }

    if (conversation.getUnreadMsgCount() > 0) {
        // show unread message count
        holder.unreadLabel.setText(String.valueOf(conversation.getUnreadMsgCount()));
        holder.unreadLabel.setVisibility(View.VISIBLE);
    } else {
        holder.unreadLabel.setVisibility(View.INVISIBLE);
    }

    if (conversation.getAllMsgCount() != 0) {
    	// show the content of latest message
        EMMessage lastMessage = conversation.getLastMessage();
        String content = null;
        if(cvsListHelper != null){
            content = cvsListHelper.onSetItemSecondaryText(lastMessage);
        }
        holder.message.setText(EaseSmileUtils.getSmiledText(getContext(), EaseCommonUtils.getMessageDigest(lastMessage, (this.getContext()))),
                BufferType.SPANNABLE);
        if(content != null){
            holder.message.setText(content);
        }
        holder.time.setText(DateUtils.getTimestampString(new Date(lastMessage.getMsgTime())));
        if (lastMessage.direct() == EMMessage.Direct.SEND && lastMessage.status() == EMMessage.Status.FAIL) {
            holder.msgState.setVisibility(View.VISIBLE);
        } else {
            holder.msgState.setVisibility(View.GONE);
        }
    }
    
    //set property
    holder.name.setTextColor(primaryColor);
    holder.message.setTextColor(secondaryColor);
    holder.time.setTextColor(timeColor);
    if(primarySize != 0)
        holder.name.setTextSize(TypedValue.COMPLEX_UNIT_PX, primarySize);
    if(secondarySize != 0)
        holder.message.setTextSize(TypedValue.COMPLEX_UNIT_PX, secondarySize);
    if(timeSize != 0)
        holder.time.setTextSize(TypedValue.COMPLEX_UNIT_PX, timeSize);

    return convertView;
}