CustomChatGroupTopRightIconExtension.java 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.cooleshow.chatmodule.widget;
  2. import android.content.Context;
  3. import android.content.Intent;
  4. import android.text.TextUtils;
  5. import com.alibaba.android.arouter.launcher.ARouter;
  6. import com.cooleshow.base.router.RouterPath;
  7. import com.cooleshow.chatmodule.constants.TCChatRouterPath;
  8. import com.tencent.qcloud.tuicore.ServiceInitializer;
  9. import com.tencent.qcloud.tuicore.TUIConstants;
  10. import com.tencent.qcloud.tuicore.TUICore;
  11. import com.tencent.qcloud.tuicore.TUIThemeManager;
  12. import com.tencent.qcloud.tuicore.interfaces.ITUIExtension;
  13. import com.tencent.qcloud.tuicore.interfaces.TUIExtensionEventListener;
  14. import com.tencent.qcloud.tuicore.interfaces.TUIExtensionInfo;
  15. import com.tencent.qcloud.tuikit.tuigroup.TUIGroupConstants;
  16. import com.tencent.qcloud.tuikit.tuigroup.classicui.ClassicUIExtensionObserver;
  17. import com.tencent.qcloud.tuikit.tuigroup.classicui.page.GroupInfoActivity;
  18. import java.util.Collections;
  19. import java.util.List;
  20. import java.util.Map;
  21. /**
  22. * Author by pq, Date on 2023/7/10.
  23. * 清单文件注册的ContentProvider
  24. * 腾讯IM UI版本的群组聊天右上角按钮
  25. */
  26. public class CustomChatGroupTopRightIconExtension extends ServiceInitializer implements ITUIExtension {
  27. @Override
  28. public void init(Context context) {
  29. super.init(context);
  30. TUICore.registerExtension(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.CLASSIC_EXTENSION_ID, this);
  31. }
  32. @Override
  33. public List<TUIExtensionInfo> onGetExtension(String extensionID, Map<String, Object> param) {
  34. if (TextUtils.equals(extensionID, TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.CLASSIC_EXTENSION_ID)) {
  35. //群聊
  36. Object groupID = param.get(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.GROUP_ID);
  37. if (groupID instanceof String) {
  38. TUIExtensionInfo extensionInfo = new TUIExtensionInfo();
  39. extensionInfo.setIcon(TUIThemeManager.getAttrResId(getContext(), com.tencent.qcloud.tuikit.tuigroup.R.attr.group_chat_extension_title_bar_more_menu));
  40. extensionInfo.setExtensionListener(new TUIExtensionEventListener() {
  41. @Override
  42. public void onClicked(Map<String, Object> param) {
  43. // Intent intent = new Intent(getAppContext(), GroupInfoActivity.class);
  44. // intent.putExtra(TUIGroupConstants.Group.GROUP_ID, (String) groupID);
  45. // intent.putExtra(TUIConstants.TUIChat.CHAT_BACKGROUND_URI, (String) param.get(TUIConstants.TUIChat.CHAT_BACKGROUND_URI));
  46. // intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  47. // getAppContext().startActivity(intent);
  48. // ToastUtil.getInstance().showShort("点击群组右上角");
  49. ARouter.getInstance().build(TCChatRouterPath.CHAT_GROUP_SETTING)
  50. .withString("targetId",(String) groupID)
  51. .navigation();
  52. }
  53. });
  54. return Collections.singletonList(extensionInfo);
  55. }
  56. //单聊
  57. Object uId = param.get(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.USER_ID);
  58. if (uId instanceof String) {
  59. String userId = (String) uId;
  60. TUIExtensionInfo extensionInfo = new TUIExtensionInfo();
  61. extensionInfo.setText("举报");
  62. extensionInfo.setIcon(TUIThemeManager.getAttrResId(getContext(), com.tencent.qcloud.tuikit.tuigroup.R.attr.group_chat_extension_title_bar_more_menu));
  63. extensionInfo.setExtensionListener(new TUIExtensionEventListener() {
  64. @Override
  65. public void onClicked(Map<String, Object> param) {
  66. ARouter.getInstance().build(TCChatRouterPath.CHAT_IM_APPEAL)
  67. .withString("targetId", userId)
  68. .withString("name", "")
  69. .withString("type", "PERSON")
  70. .navigation();
  71. }
  72. });
  73. return Collections.singletonList(extensionInfo);
  74. }
  75. }
  76. return null;
  77. }
  78. }