Fix user duplication on new session start
This commit is contained in:
parent
1fe1681d8b
commit
7075c9e0b6
1 changed files with 8 additions and 11 deletions
|
@ -40,10 +40,8 @@ public class UserList {
|
|||
Log.v(this.getClass().getSimpleName(), "Discovered new user: " + id);
|
||||
final PeerUser finalUser = createNewUser(id);
|
||||
if (finalUser != null) {
|
||||
finalUser.connect(ipAddr, () -> {
|
||||
notifyNewUserObservers(finalUser);
|
||||
finalUser.addObserver(evt -> userChangeObserver(finalUser, evt));
|
||||
}, errorCallback);
|
||||
finalUser.connect(ipAddr, () ->
|
||||
finalUser.addObserver(evt -> userChangeObserver(finalUser, evt)), errorCallback);
|
||||
}
|
||||
}, errorCallback);
|
||||
}
|
||||
|
@ -62,10 +60,8 @@ public class UserList {
|
|||
Log.v(this.getClass().getSimpleName(), "new connection from user: " + id);
|
||||
final PeerUser finalUser = createNewUser(id);
|
||||
if (finalUser != null) {
|
||||
finalUser.connect(clientSocket, () -> {
|
||||
notifyNewUserObservers(finalUser);
|
||||
finalUser.addObserver(evt -> userChangeObserver(finalUser, evt));
|
||||
}, errorCallback);
|
||||
finalUser.connect(clientSocket, () ->
|
||||
finalUser.addObserver(evt -> userChangeObserver(finalUser, evt)), errorCallback);
|
||||
}
|
||||
},
|
||||
errorCallback);
|
||||
|
@ -84,8 +80,9 @@ public class UserList {
|
|||
// else create it
|
||||
if (user == null) {
|
||||
// Username is set on TCP connection start
|
||||
user = new PeerUser(id, "");
|
||||
user = new PeerUser(id);
|
||||
inactiveUsers.put(id, user);
|
||||
notifyNewUserObservers(user);
|
||||
}
|
||||
|
||||
return user;
|
||||
|
@ -103,9 +100,9 @@ public class UserList {
|
|||
// Connection handling
|
||||
if (!inactiveUsers.containsKey(id)) {
|
||||
if (activeUsers.containsKey(id)) {
|
||||
Log.e(getClass().getSimpleName(), "Tried to set state CONNECTED on an already connected user: user id " + id);
|
||||
Log.w(getClass().getSimpleName(), "Tried to set state CONNECTED on an already connected user: user id " + id);
|
||||
} else {
|
||||
Log.e(getClass().getSimpleName(), "Tried to set state CONNECTED on an unknown user: user id " + id);
|
||||
Log.w(getClass().getSimpleName(), "Tried to set state CONNECTED on an unknown user: user id " + id);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue