LocalTeamspeakClientSocket client = new LocalTeamspeakClientSocket();
client.setNickname(...);
client.setHWID(...);
client.setIdentity(...);
client.connect(...);
// Stay connected for a while
Thread.sleep(10000);
client.disconnect();
client.close();
These threads are still running after disconnecting and closing the client
The issue with 1st thread is in LocalTeamSpeakClientSocket, this.microphoneThread is nowhere interrupted.
The issue with the 2nd and 3rd thread is in AbstractTeamspeakClientSocket when the setReading(boolean b) method (line 858) is called after disconnecting, this.networkThread and this.handlerThread are always null because they are never assigned. In the start() method (line 149) there are only local variables.
Application is not exiting due to running threads
These threads are still running after disconnecting and closing the client
The issue with 1st thread is in LocalTeamSpeakClientSocket, this.microphoneThread is nowhere interrupted.
The issue with the 2nd and 3rd thread is in AbstractTeamspeakClientSocket when the setReading(boolean b) method (line 858) is called after disconnecting, this.networkThread and this.handlerThread are always null because they are never assigned. In the start() method (line 149) there are only local variables.