After a disconnection all Presences are set to *unavailable *(done by Roster internal fuction setOfflinePresencesAndResetLoaded). This is fine, but not enough.
Because when I am connected and send a Presence unavailable, I do not get Presences of buddies which go unavailable. When I go *available *again I only get all available presences. The presence of the buddies which went *unavailable *in the meantime are not updated in the Roster. The result is that some buddies stay available, which in fact are not.
Other XMPP client libraries (e.g. XMPPFramework for iOS) handle this use case and reset all presences.
How can I solve this problem? The Roster provides no public functions to reset the presences.