Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions library/src/main/java/com/getstream/sdk/chat/model/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

import java.util.Map;
import java.util.HashMap;

/**
* A user
*/
Expand Down Expand Up @@ -43,7 +44,7 @@ public class User {
@Expose
private Boolean online;

private Map<String, Object> extraData;
private HashMap<String, Object> extraData;

public String getCreated_at() {
return created_at;
Expand Down Expand Up @@ -115,15 +116,23 @@ public void setName(String name) {
* @param id User id
* @param name User name
* @param extraData Custom user fields
* if present keys called id or name will be not be stored
* if an image field is present, its string representation will be treated as an image URL
* */
public User(String id, String name, Map<String,Object> extraData) {
public User(String id, String name, HashMap<String,Object> extraData) {
this.id = id;
this.name = name;
this.online = false;
this.extraData = extraData;
this.extraData = new HashMap<>(extraData);
Object image = this.extraData.remove("image");
if (image != null) {
this.image = image.toString();
}
this.extraData.remove("id");
this.extraData.remove("name");
}

public Map<String, Object> getExtraData() {
public HashMap<String, Object> getExtraData() {
return extraData;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,18 +115,12 @@ public Channel getChannel() {
// end region
private void setUpWebSocket() {
Map<String, Object> jsonParameter = new HashMap<>();
Map<String, Object> map = new HashMap<>();
if (this.getUser().getExtraData() == null) {
map.put("id", this.user.getId());
map.put("name", this.user.getName());
map.put("image", this.user.getImage());
jsonParameter.put("user_details", map);
} else {
this.user.getExtraData().put("id", this.user.getId());
this.user.getExtraData().put("name", this.user.getName());
this.user.getExtraData().put("image", this.user.getImage());
jsonParameter.put("user_details", this.user.getExtraData());
}

this.getUser().getExtraData().put("id", this.getUser().getId());
this.getUser().getExtraData().put("name", this.getUser().getName());
this.getUser().getExtraData().put("image", this.getUser().getImage());
jsonParameter.put("user_details", this.user.getExtraData());

jsonParameter.put("user_id", this.user.getId());
jsonParameter.put("user_token", this.userToken);
jsonParameter.put("server_determines_connection_id", true);
Expand Down