From ee9841500e4e420bec3ddee2ef495c0d8d12e647 Mon Sep 17 00:00:00 2001 From: Emil Ivov Date: Mon, 9 Oct 2006 12:13:28 +0000 Subject: [PATCH] Change status of root contacts when we get disconnected --- ...rationSetPersistentPresenceJabberImpl.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetPersistentPresenceJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetPersistentPresenceJabberImpl.java index 17d0f824c..1710c17e2 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetPersistentPresenceJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetPersistentPresenceJabberImpl.java @@ -844,6 +844,30 @@ else if(evt.getNewState() == RegistrationState.UNREGISTERED , oldContactStatus, JabberStatusEnum.OFFLINE); } } + + //do the same for all contacts in the root group + Iterator contactsIter + = getServerStoredContactListRoot().contacts(); + + while (contactsIter.hasNext()) + { + ContactJabberImpl contact + = (ContactJabberImpl) contactsIter.next(); + + PresenceStatus oldContactStatus + = contact.getPresenceStatus(); + + if (!oldContactStatus.isOnline()) + continue; + + contact.updatePresenceStatus(JabberStatusEnum.OFFLINE); + + fireContactPresenceStatusChangeEvent( + contact + , contact.getParentContactGroup() + , oldContactStatus, JabberStatusEnum.OFFLINE); + } + } } }