use of com.hyphenate.easeui.domain.EaseAvatarOptions in project SmartCampus by Vegen.
the class EaseConversationAdapter method getView.
@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.conversationId();
if (conversation.getType() == EMConversationType.GroupChat) {
String groupId = conversation.conversationId();
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);
}
EaseAvatarOptions avatarOptions = EaseUI.getInstance().getAvatarOptions();
if (avatarOptions != null && holder.avatar instanceof EaseImageView) {
EaseImageView avatarView = ((EaseImageView) holder.avatar);
if (avatarOptions.getAvatarShape() != 0)
avatarView.setShapeType(avatarOptions.getAvatarShape());
if (avatarOptions.getAvatarBorderWidth() != 0)
avatarView.setBorderWidth(avatarOptions.getAvatarBorderWidth());
if (avatarOptions.getAvatarBorderColor() != 0)
avatarView.setBorderColor(avatarOptions.getAvatarBorderColor());
if (avatarOptions.getAvatarRadius() != 0)
avatarView.setRadius(avatarOptions.getAvatarRadius());
}
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;
}
use of com.hyphenate.easeui.domain.EaseAvatarOptions in project SmartCampus by Vegen.
the class EaseChatRow method setUpBaseView.
private void setUpBaseView() {
// set nickname, avatar and background of bubble
TextView timestamp = (TextView) findViewById(R.id.timestamp);
if (timestamp != null) {
if (position == 0) {
timestamp.setText(DateUtils.getTimestampString(new Date(message.getMsgTime())));
timestamp.setVisibility(View.VISIBLE);
} else {
// show time stamp if interval with last message is > 30 seconds
EMMessage prevMessage = (EMMessage) adapter.getItem(position - 1);
if (prevMessage != null && DateUtils.isCloseEnough(message.getMsgTime(), prevMessage.getMsgTime())) {
timestamp.setVisibility(View.GONE);
} else {
timestamp.setText(DateUtils.getTimestampString(new Date(message.getMsgTime())));
timestamp.setVisibility(View.VISIBLE);
}
}
}
if (userAvatarView != null) {
// set nickname and avatar
if (message.direct() == Direct.SEND) {
EaseUserUtils.setUserAvatar(context, EMClient.getInstance().getCurrentUser(), userAvatarView);
} else {
EaseUserUtils.setUserAvatar(context, message.getFrom(), userAvatarView);
EaseUserUtils.setUserNick(message.getFrom(), usernickView);
}
}
if (EMClient.getInstance().getOptions().getRequireDeliveryAck()) {
if (deliveredView != null) {
if (message.isDelivered()) {
deliveredView.setVisibility(View.VISIBLE);
} else {
deliveredView.setVisibility(View.INVISIBLE);
}
}
}
if (EMClient.getInstance().getOptions().getRequireAck()) {
if (ackedView != null) {
if (message.isAcked()) {
if (deliveredView != null) {
deliveredView.setVisibility(View.INVISIBLE);
}
ackedView.setVisibility(View.VISIBLE);
} else {
ackedView.setVisibility(View.INVISIBLE);
}
}
}
if (itemStyle != null) {
if (userAvatarView != null) {
if (itemStyle.isShowAvatar()) {
userAvatarView.setVisibility(View.VISIBLE);
EaseAvatarOptions avatarOptions = EaseUI.getInstance().getAvatarOptions();
if (avatarOptions != null && userAvatarView instanceof EaseImageView) {
EaseImageView avatarView = ((EaseImageView) userAvatarView);
if (avatarOptions.getAvatarShape() != 0)
avatarView.setShapeType(avatarOptions.getAvatarShape());
if (avatarOptions.getAvatarBorderWidth() != 0)
avatarView.setBorderWidth(avatarOptions.getAvatarBorderWidth());
if (avatarOptions.getAvatarBorderColor() != 0)
avatarView.setBorderColor(avatarOptions.getAvatarBorderColor());
if (avatarOptions.getAvatarRadius() != 0)
avatarView.setRadius(avatarOptions.getAvatarRadius());
}
} else {
userAvatarView.setVisibility(View.GONE);
}
}
if (usernickView != null) {
if (itemStyle.isShowUserNick())
usernickView.setVisibility(View.VISIBLE);
else
usernickView.setVisibility(View.GONE);
}
if (bubbleLayout != null) {
if (message.direct() == Direct.SEND) {
if (itemStyle.getMyBubbleBg() != null) {
bubbleLayout.setBackgroundDrawable(((EaseMessageAdapter) adapter).getMyBubbleBg());
}
} else if (message.direct() == Direct.RECEIVE) {
if (itemStyle.getOtherBubbleBg() != null) {
bubbleLayout.setBackgroundDrawable(((EaseMessageAdapter) adapter).getOtherBubbleBg());
}
}
}
}
}
use of com.hyphenate.easeui.domain.EaseAvatarOptions in project SmartCampus by Vegen.
the class EaseContactAdapter method getView.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
if (res == 0)
convertView = layoutInflater.inflate(R.layout.ease_row_contact, parent, false);
else
convertView = layoutInflater.inflate(res, null);
holder.avatar = (ImageView) convertView.findViewById(R.id.avatar);
holder.nameView = (TextView) convertView.findViewById(R.id.name);
holder.headerView = (TextView) convertView.findViewById(R.id.header);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
EaseUser user = getItem(position);
if (user == null)
Log.d("ContactAdapter", position + "");
String username = user.getUsername();
String header = user.getInitialLetter();
if (position == 0 || header != null && !header.equals(getItem(position - 1).getInitialLetter())) {
if (TextUtils.isEmpty(header)) {
holder.headerView.setVisibility(View.GONE);
} else {
holder.headerView.setVisibility(View.VISIBLE);
holder.headerView.setText(header);
}
} else {
holder.headerView.setVisibility(View.GONE);
}
EaseAvatarOptions avatarOptions = EaseUI.getInstance().getAvatarOptions();
if (avatarOptions != null && holder.avatar instanceof EaseImageView) {
EaseImageView avatarView = ((EaseImageView) holder.avatar);
if (avatarOptions.getAvatarShape() != 0)
avatarView.setShapeType(avatarOptions.getAvatarShape());
if (avatarOptions.getAvatarBorderWidth() != 0)
avatarView.setBorderWidth(avatarOptions.getAvatarBorderWidth());
if (avatarOptions.getAvatarBorderColor() != 0)
avatarView.setBorderColor(avatarOptions.getAvatarBorderColor());
if (avatarOptions.getAvatarRadius() != 0)
avatarView.setRadius(avatarOptions.getAvatarRadius());
}
EaseUserUtils.setUserNick(username, holder.nameView);
EaseUserUtils.setUserAvatar(getContext(), username, holder.avatar);
if (primaryColor != 0)
holder.nameView.setTextColor(primaryColor);
if (primarySize != 0)
holder.nameView.setTextSize(TypedValue.COMPLEX_UNIT_PX, primarySize);
if (initialLetterBg != null)
holder.headerView.setBackgroundDrawable(initialLetterBg);
if (initialLetterColor != 0)
holder.headerView.setTextColor(initialLetterColor);
return convertView;
}
Aggregations