Example #1
0
 /** 获取图片消息列表 */
 private void getImageList() {
   for (int i = msgObjectList.size() - 1; i >= 0; --i) {
     Object item = msgObjectList.get(i);
     if (item instanceof ImageMessage) {
       ImageMessage.addToImageMessageList((ImageMessage) item);
     }
   }
 }
Example #2
0
 /** 对于混合消息的特殊处理 */
 public void updateItemState(final MessageEntity messageEntity) {
   long dbId = messageEntity.getId();
   int msgId = messageEntity.getMsgId();
   int len = msgObjectList.size();
   for (int index = len - 1; index > 0; index--) {
     Object object = msgObjectList.get(index);
     if (object instanceof MessageEntity) {
       MessageEntity entity = (MessageEntity) object;
       if (object instanceof ImageMessage) {
         ImageMessage.addToImageMessageList((ImageMessage) object);
       }
       if (entity.getId() == dbId && entity.getMsgId() == msgId) {
         msgObjectList.set(index, messageEntity);
         break;
       }
     }
   }
   notifyDataSetChanged();
 }
Example #3
0
 /** ----------------------添加历史消息----------------- */
 public void addItem(final MessageEntity msg) {
   if (msg.getDisplayType() == DBConstant.MSG_TYPE_SINGLE_TEXT) {
     if (isMsgGif(msg)) {
       msg.setGIfEmo(true);
     } else {
       msg.setGIfEmo(false);
     }
   }
   int nextTime = msg.getCreated();
   if (getCount() > 0) {
     Object object = msgObjectList.get(getCount() - 1);
     if (object instanceof MessageEntity) {
       int preTime = ((MessageEntity) object).getCreated();
       boolean needTime = DateUtil.needDisplayTime(preTime, nextTime);
       if (needTime) {
         Integer in = nextTime;
         msgObjectList.add(in);
       }
     }
   } else {
     Integer in = msg.getCreated();
     msgObjectList.add(in);
   }
   /** 消息的判断 */
   if (msg.getDisplayType() == DBConstant.SHOW_MIX_TEXT) {
     MixMessage mixMessage = (MixMessage) msg;
     msgObjectList.addAll(mixMessage.getMsgList());
   } else {
     msgObjectList.add(msg);
   }
   if (msg instanceof ImageMessage) {
     ImageMessage.addToImageMessageList((ImageMessage) msg);
   }
   logger.d("#messageAdapter#addItem");
   notifyDataSetChanged();
 }