Add and use AbstractConnectionClosedListener

This commit is contained in:
Florian Schmaus 2015-01-07 19:56:44 +01:00
parent b23c3226d2
commit 82eb9b18dd
7 changed files with 56 additions and 47 deletions

View File

@ -0,0 +1,35 @@
/**
*
* Copyright 2015 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jivesoftware.smack;
/**
*
*/
public abstract class AbstractConnectionClosedListener extends AbstractConnectionListener {
@Override
public final void connectionClosed() {
connectionTerminated();
}
@Override
public final void connectionClosedOnError(Exception e) {
connectionTerminated();
}
public abstract void connectionTerminated();
}

View File

@ -135,8 +135,9 @@ public class Roster {
connection.addSyncPacketListener(presencePacketListener, PRESENCE_PACKET_FILTER);
// Listen for connection events
connection.addConnectionListener(new AbstractConnectionListener() {
connection.addConnectionListener(new AbstractConnectionClosedListener() {
@Override
public void authenticated(XMPPConnection connection) {
// Anonymous users can't have a roster, but it is possible that a Roster instance is
// retrieved if getRoster() is called *before* connect(). So we have to check here
@ -154,12 +155,8 @@ public class Roster {
}
}
public void connectionClosed() {
// Changes the presence available contacts to unavailable
setOfflinePresencesAndResetLoaded();
}
public void connectionClosedOnError(Exception e) {
@Override
public void connectionTerminated() {
// Changes the presence available contacts to unavailable
setOfflinePresencesAndResetLoaded();
}

View File

@ -24,7 +24,7 @@ import java.util.Map;
import java.util.Random;
import java.util.concurrent.ConcurrentHashMap;
import org.jivesoftware.smack.AbstractConnectionListener;
import org.jivesoftware.smack.AbstractConnectionClosedListener;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException;
@ -107,15 +107,10 @@ public class InBandBytestreamManager implements BytestreamManager {
InBandBytestreamManager.getByteStreamManager(connection);
// register shutdown listener
connection.addConnectionListener(new AbstractConnectionListener() {
connection.addConnectionListener(new AbstractConnectionClosedListener() {
@Override
public void connectionClosed() {
InBandBytestreamManager.getByteStreamManager(connection).disableService();
}
@Override
public void connectionClosedOnError(Exception e) {
public void connectionTerminated() {
InBandBytestreamManager.getByteStreamManager(connection).disableService();
}

View File

@ -28,7 +28,7 @@ import java.util.Random;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeoutException;
import org.jivesoftware.smack.AbstractConnectionListener;
import org.jivesoftware.smack.AbstractConnectionClosedListener;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.FeatureNotSupportedException;
@ -100,15 +100,10 @@ public final class Socks5BytestreamManager implements BytestreamManager {
Socks5BytestreamManager.getBytestreamManager(connection);
// register shutdown listener
connection.addConnectionListener(new AbstractConnectionListener() {
connection.addConnectionListener(new AbstractConnectionClosedListener() {
@Override
public void connectionClosed() {
Socks5BytestreamManager.getBytestreamManager(connection).disableService();
}
@Override
public void connectionClosedOnError(Exception e) {
public void connectionTerminated() {
Socks5BytestreamManager.getBytestreamManager(connection).disableService();
}

View File

@ -16,7 +16,7 @@
*/
package org.jivesoftware.smackx.caps;
import org.jivesoftware.smack.AbstractConnectionListener;
import org.jivesoftware.smack.AbstractConnectionClosedListener;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.XMPPConnection;
@ -274,7 +274,7 @@ public class EntityCapsManager extends Manager {
this.sdm = ServiceDiscoveryManager.getInstanceFor(connection);
instances.put(connection, this);
connection.addConnectionListener(new AbstractConnectionListener() {
connection.addConnectionListener(new AbstractConnectionClosedListener() {
@Override
public void connected(XMPPConnection connection) {
// It's not clear when a server would report the caps stream
@ -290,11 +290,7 @@ public class EntityCapsManager extends Manager {
processCapsStreamFeatureIfAvailable(connection);
}
@Override
public void connectionClosed() {
presenceSend = false;
}
@Override
public void connectionClosedOnError(Exception e) {
public void connectionTerminated() {
presenceSend = false;
}

View File

@ -1,6 +1,6 @@
/**
*
* Copyright 2012-2014 Florian Schmaus
* Copyright 2012-2015 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jivesoftware.smack.AbstractConnectionListener;
import org.jivesoftware.smack.AbstractConnectionClosedListener;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException;
@ -135,17 +135,13 @@ public class PingManager extends Manager {
connection().sendPacket(ping.getPong());
}
}, PING_PACKET_FILTER);
connection.addConnectionListener(new AbstractConnectionListener() {
connection.addConnectionListener(new AbstractConnectionClosedListener() {
@Override
public void authenticated(XMPPConnection connection) {
maybeSchedulePingServerTask();
}
@Override
public void connectionClosed() {
maybeStopPingServerTask();
}
@Override
public void connectionClosedOnError(Exception arg0) {
public void connectionTerminated() {
maybeStopPingServerTask();
}
});

View File

@ -23,7 +23,7 @@ import java.util.Map;
import java.util.Random;
import java.util.logging.Logger;
import org.jivesoftware.smack.AbstractConnectionListener;
import org.jivesoftware.smack.AbstractConnectionClosedListener;
import org.jivesoftware.smack.ConnectionListener;
import org.jivesoftware.smack.PacketListener;
import org.jivesoftware.smack.SmackException;
@ -628,14 +628,9 @@ public class JingleSession extends JingleNegotiator implements MediaReceivedList
*/
private void installConnectionListeners(final XMPPConnection connection) {
if (connection != null) {
connectionListener = new AbstractConnectionListener() {
connectionListener = new AbstractConnectionClosedListener() {
@Override
public void connectionClosed() {
unregisterInstanceFor(connection);
}
@Override
public void connectionClosedOnError(java.lang.Exception e) {
public void connectionTerminated() {
unregisterInstanceFor(connection);
}
};