* Some more changes to user disconnect handling.

This commit is contained in:
LevelX2 2017-08-16 07:51:48 +02:00
parent a3dd6f6956
commit 8ab9abb8e8
3 changed files with 10 additions and 5 deletions

View file

@ -174,8 +174,12 @@ public enum UserManager {
calendarRemove.add(Calendar.MINUTE, -8);
List<User> toRemove = new ArrayList<>();
for (User user : users.values()) {
if (user.getUserState() == UserState.Disconnected || user.getUserState() == UserState.Offline
if (user.getUserState() != UserState.Offline
&& user.isExpired(calendarExp.getTime())) {
if (user.getUserState() == UserState.Connected) {
user.lostConnection();
disconnect(user.getId(), DisconnectReason.BecameInactive);
}
user.setUserState(UserState.Offline);
}
if (user.getUserState() == UserState.Offline && user.isExpired(calendarRemove.getTime())) {