コード例 #1
0
 private void enumerateMessages() {
   idsOfTheMessagesToFind.clear();
   for (ConversationOneMessage oMsg : oMsgs) {
     oMsg.listOrder = 0;
     oMsg.historyOrder = 0;
   }
   OrderCounters order = new OrderCounters();
   for (int ind = oMsgs.size() - 1; ind >= 0; ind--) {
     ConversationOneMessage oMsg = oMsgs.get(ind);
     if (oMsg.listOrder < 0) {
       continue;
     }
     enumerateBranch(oMsg, order, 0);
   }
 }
コード例 #2
0
 private void enumerateBranch(ConversationOneMessage oMsg, OrderCounters order, int indent) {
   if (!addMessageIdToFind(oMsg.msgId)) {
     return;
   }
   int indentNext = indent;
   oMsg.historyOrder = order.history++;
   oMsg.listOrder = order.list--;
   oMsg.indentLevel = indent;
   if ((oMsg.nReplies > 1 || oMsg.nParentReplies > 1) && indentNext < MAX_INDENT_LEVEL) {
     indentNext++;
   }
   for (int ind = oMsgs.size() - 1; ind >= 0; ind--) {
     ConversationOneMessage reply = oMsgs.get(ind);
     if (reply.inReplyToMsgId == oMsg.msgId) {
       reply.nParentReplies = oMsg.nReplies;
       enumerateBranch(reply, order, indentNext);
     }
   }
 }