diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/parser/PresenceParser.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/parser/PresenceParser.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/de/pixart/messenger/parser/PresenceParser.java b/src/main/java/de/pixart/messenger/parser/PresenceParser.java index 8e1b0b006..a4534439e 100644 --- a/src/main/java/de/pixart/messenger/parser/PresenceParser.java +++ b/src/main/java/de/pixart/messenger/parser/PresenceParser.java @@ -213,12 +213,14 @@ public class PresenceParser extends AbstractParser implements final Element idle = packet.findChild("idle", Namespace.IDLE); if (idle != null) { - contact.flagInactive(); - final String since = idle.getAttribute("since"); try { + final String since = idle.getAttribute("since"); contact.setLastseen(AbstractParser.parseTimestamp(since)); + contact.flagInactive(); } catch (NullPointerException | ParseException e) { - contact.setLastseen(System.currentTimeMillis()); + if (contact.setLastseen(AbstractParser.parseTimestamp(packet))) { + contact.flagActive(); + } } } else { if (contact.setLastseen(AbstractParser.parseTimestamp(packet))) { |