improvements on the dublicate muc messages issue

This commit is contained in:
iNPUTmice 2014-07-16 19:03:14 +02:00
parent 6c89978489
commit 670dead695

View file

@ -2,6 +2,8 @@ package eu.siacs.conversations.parser;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.Locale; import java.util.Locale;
@ -20,11 +22,16 @@ public abstract class AbstractParser {
protected long getTimestamp(Element packet) { protected long getTimestamp(Element packet) {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
if (packet.hasChild("delay")) { ArrayList<String> stamps = new ArrayList<String>();
for(Element child : packet.getChildren()) {
if (child.getName().equals("delay")) {
stamps.add(child.getAttribute("stamp").replace("Z", "+0000"));
}
}
Collections.sort(stamps);
if (stamps.size() >= 1) {
try { try {
String stamp = packet.findChild("delay").getAttribute( String stamp = stamps.get(stamps.size() - 1);
"stamp");
stamp = stamp.replace("Z", "+0000");
if (stamp.contains(".")) { if (stamp.contains(".")) {
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ",Locale.US) Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ",Locale.US)
.parse(stamp); .parse(stamp);