Add callback method for when Smack is connecting

This commit is contained in:
Paul Schaub 2020-07-18 12:50:08 +02:00
parent b7fe56fb9b
commit bc599a6dd6
Signed by: vanitasvitae
GPG Key ID: 62BEE9264BF17311
2 changed files with 20 additions and 1 deletions

View File

@ -514,6 +514,9 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
// Check if not already connected
throwAlreadyConnectedExceptionIfAppropriate();
// Notify connection listeners that we are trying to connect
callConnectionConnectingListener();
// Reset the connection state
initState();
closingStreamReceived = false;
@ -1680,6 +1683,12 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
}
}
protected void callConnectionConnectingListener() {
for (ConnectionListener listener : connectionListeners) {
listener.connecting(this);
}
}
protected void callConnectionConnectedListener() {
for (ConnectionListener listener : connectionListeners) {
listener.connected(this);

View File

@ -1,6 +1,6 @@
/**
*
* Copyright 2003-2007 Jive Software.
* Copyright 2003-2007 Jive Software, 2020 Paul Schaub
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -28,6 +28,16 @@ package org.jivesoftware.smack;
*/
public interface ConnectionListener {
/**
* Notification that the connection is in the process of connecting.
* This method is called when {@link AbstractXMPPConnection#connect()} is executed.
*
* @param connection connection
* @since 4.4
*/
default void connecting(XMPPConnection connection) {
}
/**
* Notification that the connection has been successfully connected to the remote endpoint (e.g. the XMPP server).
* <p>