package com.mogujie.tt.entity; import java.util.Date; import android.text.TextUtils; import android.util.Log; import com.mogujie.tt.R; import com.mogujie.tt.config.SysConstant; import com.mogujie.tt.log.Logger; import com.mogujie.tt.utils.DateUtil; /** * @author seishuchen */ @SuppressWarnings("rawtypes") public class RecentInfo implements Comparable<RecentInfo> { private Logger logger = Logger.getLogger(RecentInfo.class); // protected String selfUserId; // 当前用户id protected String avatar; // 最近联系人头像 public String getAvatar() { return avatar; } public void setAvatar(String avatar) { this.avatar = avatar; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEntityId() { return entityId; } public void setEntityId(String entityId) { this.entityId = entityId; } public int getSessionType() { return sessionType; } public void setSessionType(int sessionType) { this.sessionType = sessionType; } public long getLasttime() { return lasttime; } public void setLasttime(long lasttime) { this.lasttime = lasttime; } public String getNickname() { return nickname; } public void setNickname(String nickname) { this.nickname = nickname; } public int getUnReadCount() { return unReadCount; } private int defaultAvatar = R.id.contact_portrait; // 最近联系人默认头像 protected String name; // 最近联系人姓名 protected String entityId; // 最近联系人的用户id private byte msgType; // 最近一条消息类型 private int sessionType; private int displayType = SysConstant.DISPLAY_TYPE_TEXT; // 消息展示类型 private String lastContent; // 与最近联系人聊天的最近一条消息内容 private long lasttime; // 与最近联系人聊天的最近一次时间 private int unReadCount = 0; // 未读消息计数 private Date date; private String nickname; @Override public String toString() { return "RecentInfo [avatar=" + avatar + ", defaultAvatar=" + defaultAvatar + ", name=" + name + ", entityId=" + entityId + ", msgType=" + msgType + ", sessionType=" + sessionType + ", displayType=" + displayType + ", lastContent=" + lastContent + ", lasttime=" + lasttime + ", unReadCount=" + unReadCount + ", date=" + date + ", nickname=" + nickname + "]"; } public String getUserId() { return entityId; } public void setUserId(String userId) { logger.d("stack:%s",Log.getStackTraceString(new Throwable())); this.entityId = userId; logger.d("recent#setUserId -> userId:%s", userId); } // public String getSelfUserId() { // return selfUserId; // } // // public void setSelfUserId(String selfUserId) { // this.selfUserId = selfUserId; // } public String getUserName() { return name; } public void setUserName(String uname) { this.name = uname; logger.d("recent#setuserName -> uname:%s", uname); } public String getUserAvatar() { if (TextUtils.isEmpty(avatar) || avatar.trim().length() == 0) { return null; // return SysConstant.DETAULT_PORTRAIT_URL; } return avatar; } public void setUserAvatar(String avatar) { this.avatar = avatar; } public int getDefaultAvatar() { return defaultAvatar; } public void setDefaultAvatar(int defaultAvatar) { this.defaultAvatar = defaultAvatar; } public byte getMsgType() { return msgType; } public void setMsgType(byte msgRenderType) { this.msgType = msgRenderType; } public int getDisplayType() { return displayType; } public void setDisplayType(int displayType) { this.displayType = displayType; } public String getLastContent() { return lastContent; } public void setLastContent(String lastContent) { this.lastContent = lastContent; } public long getLastTime() { return lasttime; } public String getLastTimeString() { if (0L == lasttime) { return " "; } date = new Date(lasttime*1000); return DateUtil.getTimeDisplay(date); } public void setLastTime(long lasttime) { this.lasttime = lasttime; } public void setLastTime(Date date) { this.lasttime = date.getTime(); } /* * 未读消息计数加1 */ public int incUnreadCount() { unReadCount += 1; return unReadCount; } /* * 未读消息计数减1 */ public int decUnreadCount() { unReadCount -= 1; return unReadCount; } public int getUnreadCount() { return unReadCount; } public String getUnreadCountString() { if (99 < unReadCount) { return "99+"; } return unReadCount + ""; } public void setUnReadCount(int unReadCount) { this.unReadCount = unReadCount; } @Override public int compareTo(RecentInfo another) { // 先按最近联系时间排序 if (getLastTime() < another.getLastTime()) { return 1; } if (getLastTime() > another.getLastTime()) { return -1; } return 0; } public void setNickName(String NickName) { nickname = NickName; } public String getNickName() { return nickname; } }