package com.cooleshow.chatmodule.widget; import android.content.Context; import android.content.Intent; import android.text.TextUtils; import com.alibaba.android.arouter.launcher.ARouter; import com.cooleshow.base.router.RouterPath; import com.cooleshow.chatmodule.constants.TCChatRouterPath; import com.tencent.qcloud.tuicore.ServiceInitializer; import com.tencent.qcloud.tuicore.TUIConstants; import com.tencent.qcloud.tuicore.TUICore; import com.tencent.qcloud.tuicore.TUIThemeManager; import com.tencent.qcloud.tuicore.interfaces.ITUIExtension; import com.tencent.qcloud.tuicore.interfaces.TUIExtensionEventListener; import com.tencent.qcloud.tuicore.interfaces.TUIExtensionInfo; import com.tencent.qcloud.tuikit.tuigroup.TUIGroupConstants; import com.tencent.qcloud.tuikit.tuigroup.classicui.ClassicUIExtensionObserver; import com.tencent.qcloud.tuikit.tuigroup.classicui.page.GroupInfoActivity; import java.util.Collections; import java.util.List; import java.util.Map; /** * Author by pq, Date on 2023/7/10. * 清单文件注册的ContentProvider * 腾讯IM UI版本的群组聊天右上角按钮 */ public class CustomChatGroupTopRightIconExtension extends ServiceInitializer implements ITUIExtension { @Override public void init(Context context) { super.init(context); TUICore.registerExtension(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.CLASSIC_EXTENSION_ID, this); } @Override public List onGetExtension(String extensionID, Map param) { if (TextUtils.equals(extensionID, TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.CLASSIC_EXTENSION_ID)) { //群聊 Object groupID = param.get(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.GROUP_ID); if (groupID instanceof String) { TUIExtensionInfo extensionInfo = new TUIExtensionInfo(); extensionInfo.setIcon(TUIThemeManager.getAttrResId(getContext(), com.tencent.qcloud.tuikit.tuigroup.R.attr.group_chat_extension_title_bar_more_menu)); extensionInfo.setExtensionListener(new TUIExtensionEventListener() { @Override public void onClicked(Map param) { // Intent intent = new Intent(getAppContext(), GroupInfoActivity.class); // intent.putExtra(TUIGroupConstants.Group.GROUP_ID, (String) groupID); // intent.putExtra(TUIConstants.TUIChat.CHAT_BACKGROUND_URI, (String) param.get(TUIConstants.TUIChat.CHAT_BACKGROUND_URI)); // intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // getAppContext().startActivity(intent); // ToastUtil.getInstance().showShort("点击群组右上角"); ARouter.getInstance().build(TCChatRouterPath.CHAT_GROUP_SETTING) .withString("targetId",(String) groupID) .navigation(); } }); return Collections.singletonList(extensionInfo); } //单聊 Object uId = param.get(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.USER_ID); if (uId instanceof String) { String userId = (String) uId; TUIExtensionInfo extensionInfo = new TUIExtensionInfo(); extensionInfo.setText("举报"); extensionInfo.setIcon(TUIThemeManager.getAttrResId(getContext(), com.tencent.qcloud.tuikit.tuigroup.R.attr.group_chat_extension_title_bar_more_menu)); extensionInfo.setExtensionListener(new TUIExtensionEventListener() { @Override public void onClicked(Map param) { ARouter.getInstance().build(TCChatRouterPath.CHAT_IM_APPEAL) .withString("targetId", userId) .withString("name", "") .withString("type", "PERSON") .navigation(); } }); return Collections.singletonList(extensionInfo); } } return null; } }