diff --git a/lib/installer-exclude/jml-1.0b2.jar b/lib/installer-exclude/jml-1.0b2.jar index 8c8b68e45..b610d0b0e 100644 Binary files a/lib/installer-exclude/jml-1.0b2.jar and b/lib/installer-exclude/jml-1.0b2.jar differ diff --git a/src/net/java/sip/communicator/impl/protocol/msn/OperationSetBasicInstantMessagingMsnImpl.java b/src/net/java/sip/communicator/impl/protocol/msn/OperationSetBasicInstantMessagingMsnImpl.java index bf075749b..d6139ddbc 100644 --- a/src/net/java/sip/communicator/impl/protocol/msn/OperationSetBasicInstantMessagingMsnImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/msn/OperationSetBasicInstantMessagingMsnImpl.java @@ -108,7 +108,7 @@ public void removeMessageListener(MessageListener listener) */ public boolean isOfflineMessagingSupported() { - return false; + return true; } /** @@ -313,6 +313,42 @@ public void instantMessageReceived(MsnSwitchboard switchboard, fireMessageEvent(msgReceivedEvt); } + + /** + * Received offline text message. + * + * @param body of message + * @param contentType of message + * @param encoding of message + * @param displayName + * @param from the user who sent this message + */ + public void offlineMessageReceived(String body, + String contentType, + String encoding, + MsnContact contact) + { + Message newMessage = + createMessage(body.getBytes(), contentType, encoding, null); + + Contact sourceContact = opSetPersPresence. + findContactByID(contact.getEmail().getEmailAddress()); + + if(sourceContact == null) + { + logger.debug("received a message from an unknown contact: " + + contact); + //create the volatile contact + sourceContact = opSetPersPresence. + createVolatileContact(contact); + } + + MessageReceivedEvent msgReceivedEvt + = new MessageReceivedEvent( + newMessage, sourceContact , new Date() ); + + fireMessageEvent(msgReceivedEvt); + } public void initialEmailNotificationReceived(MsnSwitchboard switchboard, MsnEmailInitMessage message, diff --git a/src/net/java/sip/communicator/impl/protocol/msn/ServerStoredContactListMsnImpl.java b/src/net/java/sip/communicator/impl/protocol/msn/ServerStoredContactListMsnImpl.java index d123e8f2c..8ad250592 100644 --- a/src/net/java/sip/communicator/impl/protocol/msn/ServerStoredContactListMsnImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/msn/ServerStoredContactListMsnImpl.java @@ -859,6 +859,9 @@ public void contactListInitCompleted(MsnMessenger messenger) // if we have received status before we have inited the list // sho them correctly parentOperationSet.earlyStatusesDispatch(); + + // retreive offline messages + msnProvider.getMessenger().retreiveOfflineMessages(); } public void contactStatusChanged(MsnMessenger messenger,