All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.leancloud.im.v2.ConversationSynchronizer Maven / Gradle / Ivy

package cn.leancloud.im.v2;

import cn.leancloud.utils.StringUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ConversationSynchronizer {
  public static void mergeMembers(AVIMConversation conversation, List members) {
    if (null == conversation) {
      return;
    }
    conversation.internalMergeMembers(members);
  }

  public static void removeMembers(AVIMConversation conversation, List members) {
    if (null == conversation) {
      return;
    }
    conversation.internalRemoveMembers(members);
  }

  public static void changeUpdatedTime(AVIMConversation conversation, String updatedAt) {
    if (null != conversation && !StringUtil.isEmpty(updatedAt)) {
      conversation.setUpdatedAt(updatedAt);
    }
  }

  public static void mergeConversationFromJsonObject(AVIMConversation conversation, JSONObject jsonObj) {
    if (null == conversation || null == jsonObj) {
      return;
    }
    // Notice: cannot update deleted attr.
    for (Map.Entry entry : jsonObj.entrySet()) {
      String key = entry.getKey();
      conversation.instanceData.put(key, entry.getValue());
    }
    conversation.latestConversationFetch = System.currentTimeMillis();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy