diff --git a/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java b/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java index 37cb6a1..77ae932 100644 --- a/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java +++ b/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java @@ -90,11 +90,12 @@ public class LocalTeamspeakClientSocket throw new RuntimeException(e); } - for (TS3Listener listener : listeners) - listener.onDisconnected(new DisconnectedEvent(command.toMap())); + + DisconnectedEvent e = new DisconnectedEvent(command.toMap()); + commandExecutionService.submit(() -> listeners.forEach(e::fire)); } else { - for (TS3Listener listener : listeners) - listener.onClientLeave(new ClientLeaveEvent(command.toMap())); + ClientLeaveEvent e = new ClientLeaveEvent(command.toMap()); + commandExecutionService.submit(() -> listeners.forEach(e::fire)); } } }); diff --git a/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java b/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java index fba3941..8b2729a 100644 --- a/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java +++ b/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java @@ -13,6 +13,7 @@ import java.io.IOException; import java.math.BigInteger; import java.net.InetSocketAddress; import java.util.Base64; +import java.util.Random; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeoutException; @@ -142,17 +143,9 @@ public class ServerConnectionTest { @Override public void onChannelSubscribed(ChannelSubscribedEvent e) { - try { - client.getChannelInfo(e.getChannelId()); - } catch (IOException e1) { - e1.printStackTrace(); - } catch (TimeoutException e1) { - e1.printStackTrace(); - } catch (ExecutionException e1) { - e1.printStackTrace(); - } catch (InterruptedException e1) { - e1.printStackTrace(); - } + System.err.println("doing"); + client.setNickname("EEEE" + (new Random().nextInt(1000))); + System.err.println("done"); } });