package com.netease.nim.uikit.contact.core.util; import com.netease.nim.uikit.NimUIKit; import com.netease.nim.uikit.cache.NimUserInfoCache; import com.netease.nim.uikit.cache.TeamDataCache; import com.netease.nim.uikit.contact.core.model.IContact; import com.netease.nimlib.sdk.search.model.MsgIndexRecord; import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; import com.netease.nimlib.sdk.uinfo.UserInfoProvider; /** * Created by huangjun on 2015/9/8. */ public class ContactHelper { public static IContact makeContactFromUserInfo(final UserInfoProvider.UserInfo userInfo) { return new IContact() { @Override public String getContactId() { return userInfo.getAccount(); } @Override public int getContactType() { return Type.Friend; } @Override public String getDisplayName() { return NimUIKit.getContactProvider().getUserDisplayName(userInfo.getAccount()); } }; } public static IContact makeContactFromMsgIndexRecord(final MsgIndexRecord record) { return new IContact() { @Override public String getContactId() { return record.getSessionId(); } @Override public int getContactType() { return Type.Msg; } @Override public String getDisplayName() { String sessionId = record.getSessionId(); SessionTypeEnum sessionType = record.getSessionType(); if (sessionType == SessionTypeEnum.P2P) { return NimUserInfoCache.getInstance().getUserDisplayName(sessionId); } else if (sessionType == SessionTypeEnum.Team) { return TeamDataCache.getInstance().getTeamName(sessionId); } return ""; } }; } }