Changing current presence status when registration state changes

cusax-fix
Damian Minkov 20 years ago
parent 90b090dfc8
commit 055c9087e6

@ -19,6 +19,7 @@
import net.java.sip.communicator.service.protocol.Message;
import net.java.sip.communicator.service.protocol.event.*;
import net.java.sip.communicator.util.*;
import net.java.sip.communicator.service.protocol.jabberconstants.*;
/**
* A straightforward implementation of the basic instant messaging operation
@ -467,6 +468,10 @@ void fireUnregisterd()
jabberProvider.getRegistrationState(),
RegistrationState.CONNECTION_FAILED,
RegistrationStateChangeEvent.REASON_INTERNAL_ERROR, null);
opSetPersPresence.fireProviderPresenceStatusChangeEvent(
opSetPersPresence.getPresenceStatus(),
JabberStatusEnum.OFFLINE);
}
}
}

@ -702,7 +702,7 @@ private void assertConnected() throws IllegalStateException
* @param oldStatus the status our stack had so far
* @param newStatus the status we have from now on
*/
private void fireProviderPresenceStatusChangeEvent(
void fireProviderPresenceStatusChangeEvent(
PresenceStatus oldStatus, PresenceStatus newStatus)
{
if(oldStatus.equals(newStatus)){

@ -13,6 +13,7 @@
import org.jivesoftware.smack.util.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.event.*;
import net.java.sip.communicator.service.protocol.jabberconstants.*;
import net.java.sip.communicator.util.*;
/**
@ -419,6 +420,15 @@ public void connectionClosed()
oldConnectionState,
RegistrationState.UNREGISTERED,
RegistrationStateChangeEvent.REASON_USER_REQUEST, null);
OperationSetPersistentPresenceJabberImpl opSetPersPresence =
(OperationSetPersistentPresenceJabberImpl)
getSupportedOperationSets()
.get(OperationSetPersistentPresence.class.getName());
opSetPersPresence.fireProviderPresenceStatusChangeEvent(
opSetPersPresence.getPresenceStatus(),
JabberStatusEnum.OFFLINE);
}
public void connectionClosedOnError(Exception exception)
@ -430,6 +440,15 @@ public void connectionClosedOnError(Exception exception)
RegistrationState.UNREGISTERED,
RegistrationStateChangeEvent.REASON_INTERNAL_ERROR,
exception.getLocalizedMessage());
OperationSetPersistentPresenceJabberImpl opSetPersPresence =
(OperationSetPersistentPresenceJabberImpl)
getSupportedOperationSets()
.get(OperationSetPersistentPresence.class.getName());
opSetPersPresence.fireProviderPresenceStatusChangeEvent(
opSetPersPresence.getPresenceStatus(),
JabberStatusEnum.OFFLINE);
}
}
}

Loading…
Cancel
Save