From fc149624450f41b084918e7d7ce946463cab289d Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Tue, 13 Jan 2015 23:09:43 +0100 Subject: [PATCH] Make disconnect() not throw NotConnectedException while disconnect(Presence) still does to notify the user that the unavailable presence was not send. --- .../jivesoftware/smack/AbstractXMPPConnection.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java index d446b78b3..88be4acce 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java @@ -643,10 +643,14 @@ public abstract class AbstractXMPPConnection implements XMPPConnection { * the XMPP server. The XMPPConnection can still be used for connecting to the server * again. * - * @throws NotConnectedException */ - public void disconnect() throws NotConnectedException { - disconnect(new Presence(Presence.Type.unavailable)); + public void disconnect() { + try { + disconnect(new Presence(Presence.Type.unavailable)); + } + catch (NotConnectedException e) { + LOGGER.log(Level.FINEST, "Connection is already disconnected", e); + } } /** @@ -661,10 +665,6 @@ public abstract class AbstractXMPPConnection implements XMPPConnection { * @throws NotConnectedException */ public synchronized void disconnect(Presence unavailablePresence) throws NotConnectedException { - if (!isConnected()) { - throw new NotConnectedException(); - } - sendPacket(unavailablePresence); shutdown(); callConnectionClosedListener();