mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-06 14:27:24 +00:00
Merge pull request #300 from nextcloud/fix-datatype-issue
Fix an issue with variable datatypes
This commit is contained in:
commit
033a140818
@ -1172,7 +1172,7 @@ public class CallController extends BaseController {
|
||||
}
|
||||
|
||||
if ("usersInRoom".equals(messageType)) {
|
||||
processUsersInRoom((List<HashMap<String, String>>) signaling.getMessageWrapper());
|
||||
processUsersInRoom((List<HashMap<String, Object>>) signaling.getMessageWrapper());
|
||||
} else if ("message".equals(messageType)) {
|
||||
NCSignalingMessage ncSignalingMessage = LoganSquare.parse(signaling.getMessageWrapper().toString(),
|
||||
NCSignalingMessage.class);
|
||||
@ -1350,17 +1350,24 @@ public class CallController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
private void processUsersInRoom(List<HashMap<String, String>> users) {
|
||||
private void processUsersInRoom(List<HashMap<String, Object>> users) {
|
||||
List<String> newSessions = new ArrayList<>();
|
||||
Set<String> oldSesssions = new HashSet<>();
|
||||
|
||||
for (HashMap<String, String> participant : users) {
|
||||
for (HashMap<String, Object> participant : users) {
|
||||
if (!participant.get("sessionId").equals(callSession)) {
|
||||
Object inCallObject = participant.get("inCall");
|
||||
if ((boolean) inCallObject) {
|
||||
newSessions.add(participant.get("sessionId"));
|
||||
boolean isNewSession;
|
||||
if (inCallObject instanceof Boolean) {
|
||||
isNewSession = (boolean) inCallObject;
|
||||
} else {
|
||||
oldSesssions.add(participant.get("sessionId"));
|
||||
isNewSession = ((long) inCallObject) != 0;
|
||||
}
|
||||
|
||||
if (isNewSession) {
|
||||
newSessions.add(participant.get("sessionId").toString());
|
||||
} else {
|
||||
oldSesssions.add(participant.get("sessionId").toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user