package com.yidianling.uikit.api; import android.content.Context; import com.netease.nimlib.sdk.msg.attachment.MsgAttachment; import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; import com.netease.nimlib.sdk.msg.model.IMMessage; import com.yidianling.nimbase.api.BaseNimUIKit; import com.yidianling.nimbase.api.model.session.SessionCustomization; import com.yidianling.uikit.business.contact.selector.activity.ContactSelectActivity; import com.yidianling.uikit.business.session.viewholder.MsgViewHolderBase; import com.yidianling.uikit.custom.bridge.IP2PCustomActionHandler; /** * 云信UI组件接口/定制化入口 * Created by huangjun on 2017/9/29. */ public class NimUIKit extends BaseNimUIKit { /** * 打开壹点灵定制聊天窗口,开始聊天 * * @param context 上下文 * @param id 聊天对象ID(用户帐号account或者群组ID) * @param sessionType 会话类型 * @param customization 定制化信息。针对不同的聊天对象,可提供不同的定制化。 * @param anchor 跳转到指定消息的位置,不需要跳转填null */ public static void startYDLChatting(Context context, String id, SessionTypeEnum sessionType, SessionCustomization customization, IMMessage anchor, IP2PCustomActionHandler handler) { NimUIKitImpl.startChatting(context, id, sessionType, customization, anchor, handler); } /** * 打开联系人选择器 * * @param context 上下文(Activity) * @param option 联系人选择器可选配置项 * @param requestCode startActivityForResult使用的请求码 */ public static void startContactSelector(Context context, ContactSelectActivity.Option option, int requestCode) { NimUIKitImpl.startContactSelector(context, option, requestCode); } /** * 打开讨论组或高级群资料页 * * @param context 上下文 * @param teamId 群id */ public static void startTeamInfo(Context context, String teamId) { NimUIKitImpl.startTeamInfo(context, teamId); } /** * 根据IM消息附件类型注册对应的消息项展示ViewHolder * * @param attach 附件类型 * @param viewHolder 消息ViewHolder */ public static void registerMsgItemViewHolder(Class<? extends MsgAttachment> attach, Class<? extends MsgViewHolderBase> viewHolder) { NimUIKitImpl.registerMsgItemViewHolder(attach, viewHolder); } /** * 注册Tip类型消息项展示ViewHolder * * @param viewHolder Tip消息ViewHolder */ public static void registerTipMsgViewHolder(Class<? extends MsgViewHolderBase> viewHolder) { NimUIKitImpl.registerTipMsgViewHolder(viewHolder); } }