增加官方账号私聊限制

This commit is contained in:
huangjian
2023-02-08 17:43:15 +08:00
parent 4beaa9a299
commit 888ee9574c
4 changed files with 62 additions and 55 deletions

View File

@@ -2,47 +2,6 @@ package com.mango.moshen.ui.im;
import android.content.Context; import android.content.Context;
import com.mango.core.im.custom.bean.UserCardAttachment;
import com.mango.moshen.ui.im.chat.MsgViewHolderUserCard;
import com.netease.nim.uikit.api.NimUIKit;
import com.netease.nim.uikit.api.model.contact.ContactEventListener;
import com.netease.nim.uikit.api.model.main.OnlineStateContentProvider;
import com.netease.nim.uikit.api.model.session.SessionCustomization;
import com.netease.nim.uikit.api.model.session.SessionEventListener;
import com.netease.nim.uikit.api.wrapper.NimMessageRevokeObserver;
import com.netease.nim.uikit.business.session.actions.BaseAction;
import com.netease.nim.uikit.business.session.actions.CameraAction;
import com.netease.nim.uikit.business.session.actions.ImageAction;
import com.netease.nim.uikit.business.session.actions.PhotoAction;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.msg.MsgService;
import com.netease.nimlib.sdk.msg.MsgServiceObserve;
import com.netease.nimlib.sdk.msg.model.IMMessage;
import com.mango.moshen.community.holder.DynamicSysHolder;
import com.mango.moshen.community.im.WorldDynamicShareViewHolder;
import com.mango.moshen.luckymoney.viewholder.LuckyMoneyMsgViewHolder;
import com.mango.moshen.luckymoney.viewholder.LuckyMoneyTipsViewHolder;
import com.mango.moshen.module_hall.HallDataManager;
import com.mango.moshen.public_chat_hall.msg.viewholder.MsgViewHolderAitMe;
import com.mango.moshen.share.viewholder.InAppSharingMsgViewHolder;
import com.mango.moshen.ui.im.actions.GiftAction;
import com.mango.moshen.ui.im.avtivity.NimP2PMessageActivity;
import com.mango.moshen.ui.im.chat.MsgViewHolderAudioParty;
import com.mango.moshen.ui.im.chat.MsgViewHolderChatHint;
import com.mango.moshen.ui.im.chat.MsgViewHolderContent;
import com.mango.moshen.ui.im.chat.MsgViewHolderGift;
import com.mango.moshen.ui.im.chat.MsgViewHolderHello;
import com.mango.moshen.ui.im.chat.MsgViewHolderLevel;
import com.mango.moshen.ui.im.chat.MsgViewHolderLottery;
import com.mango.moshen.ui.im.chat.MsgViewHolderOnline;
import com.mango.moshen.ui.im.chat.MsgViewHolderRedPackage;
import com.mango.moshen.ui.im.chat.MsgViewHolderRedPacket;
import com.mango.moshen.ui.im.chat.MsgViewHolderSkill;
import com.mango.moshen.ui.im.chat.MsgViewHolderText;
import com.mango.moshen.ui.im.chat.SignInNoticeMsgViewHolder;
import com.mango.moshen.ui.im.chat.SysMsgV2ViewHolder;
import com.mango.moshen.ui.im.chat.SysMsgViewHolder;
import com.mango.moshen.ui.user.UserInfoActivity;
import com.mango.core.community.attachment.DynamicSysAttachment; import com.mango.core.community.attachment.DynamicSysAttachment;
import com.mango.core.community.im.WorldDynamicAttachment; import com.mango.core.community.im.WorldDynamicAttachment;
import com.mango.core.im.custom.bean.AssistantAttachment; import com.mango.core.im.custom.bean.AssistantAttachment;
@@ -69,9 +28,48 @@ import com.mango.core.im.custom.bean.RedPacketAttachment;
import com.mango.core.im.custom.bean.SkillMsgAttachment; import com.mango.core.im.custom.bean.SkillMsgAttachment;
import com.mango.core.im.custom.bean.SysMsgAttachment; import com.mango.core.im.custom.bean.SysMsgAttachment;
import com.mango.core.im.custom.bean.SysMsgV2Attachment; import com.mango.core.im.custom.bean.SysMsgV2Attachment;
import com.mango.core.im.custom.bean.UserCardAttachment;
import com.mango.core.miniworld.bean.OpenAudioPartyAttachment; import com.mango.core.miniworld.bean.OpenAudioPartyAttachment;
import com.mango.core.public_chat_hall.attachment.AitMeAttachment; import com.mango.core.public_chat_hall.attachment.AitMeAttachment;
import com.netease.nimlib.service.NimService; import com.mango.core.utils.SystemUidUtil;
import com.mango.moshen.community.holder.DynamicSysHolder;
import com.mango.moshen.community.im.WorldDynamicShareViewHolder;
import com.mango.moshen.luckymoney.viewholder.LuckyMoneyMsgViewHolder;
import com.mango.moshen.luckymoney.viewholder.LuckyMoneyTipsViewHolder;
import com.mango.moshen.module_hall.HallDataManager;
import com.mango.moshen.public_chat_hall.msg.viewholder.MsgViewHolderAitMe;
import com.mango.moshen.share.viewholder.InAppSharingMsgViewHolder;
import com.mango.moshen.ui.im.actions.GiftAction;
import com.mango.moshen.ui.im.avtivity.NimP2PMessageActivity;
import com.mango.moshen.ui.im.chat.MsgViewHolderAudioParty;
import com.mango.moshen.ui.im.chat.MsgViewHolderChatHint;
import com.mango.moshen.ui.im.chat.MsgViewHolderContent;
import com.mango.moshen.ui.im.chat.MsgViewHolderGift;
import com.mango.moshen.ui.im.chat.MsgViewHolderHello;
import com.mango.moshen.ui.im.chat.MsgViewHolderLevel;
import com.mango.moshen.ui.im.chat.MsgViewHolderLottery;
import com.mango.moshen.ui.im.chat.MsgViewHolderOnline;
import com.mango.moshen.ui.im.chat.MsgViewHolderRedPackage;
import com.mango.moshen.ui.im.chat.MsgViewHolderRedPacket;
import com.mango.moshen.ui.im.chat.MsgViewHolderSkill;
import com.mango.moshen.ui.im.chat.MsgViewHolderText;
import com.mango.moshen.ui.im.chat.MsgViewHolderUserCard;
import com.mango.moshen.ui.im.chat.SignInNoticeMsgViewHolder;
import com.mango.moshen.ui.im.chat.SysMsgV2ViewHolder;
import com.mango.moshen.ui.im.chat.SysMsgViewHolder;
import com.mango.moshen.ui.user.UserInfoActivity;
import com.netease.nim.uikit.api.NimUIKit;
import com.netease.nim.uikit.api.model.contact.ContactEventListener;
import com.netease.nim.uikit.api.model.session.SessionCustomization;
import com.netease.nim.uikit.api.model.session.SessionEventListener;
import com.netease.nim.uikit.api.wrapper.NimMessageRevokeObserver;
import com.netease.nim.uikit.business.session.actions.BaseAction;
import com.netease.nim.uikit.business.session.actions.CameraAction;
import com.netease.nim.uikit.business.session.actions.ImageAction;
import com.netease.nim.uikit.business.session.actions.PhotoAction;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.msg.MsgServiceObserve;
import com.netease.nimlib.sdk.msg.model.IMMessage;
import java.util.ArrayList; import java.util.ArrayList;
@@ -95,7 +93,7 @@ public class ImInitHelper {
private final SessionEventListener listener = new SessionEventListener() { private final SessionEventListener listener = new SessionEventListener() {
@Override @Override
public void onAvatarClicked(Context context, IMMessage message) { public void onAvatarClicked(Context context, IMMessage message) {
if (message == null) return; if (message == null || SystemUidUtil.isSystemUid(message.getFromAccount())) return;
UserInfoActivity.Companion.start(context, Long.parseLong(message.getFromAccount())); UserInfoActivity.Companion.start(context, Long.parseLong(message.getFromAccount()));
} }

View File

@@ -21,6 +21,7 @@ import com.alibaba.fastjson.JSONObject;
import com.mango.core.im.custom.bean.UserCardAttachment; import com.mango.core.im.custom.bean.UserCardAttachment;
import com.mango.core.room.event.MessageSizeEvent; import com.mango.core.room.event.MessageSizeEvent;
import com.mango.core.utils.CurrentTimeUtils; import com.mango.core.utils.CurrentTimeUtils;
import com.mango.core.utils.SystemUidUtil;
import com.mango.xchat_android_library.utils.SingleToastUtil; import com.mango.xchat_android_library.utils.SingleToastUtil;
import com.netease.nim.uikit.R; import com.netease.nim.uikit.R;
import com.netease.nim.uikit.api.NimUIKit; import com.netease.nim.uikit.api.NimUIKit;
@@ -870,9 +871,11 @@ public class MessageListPanelEx {
} else { } else {
// 顶部加载 // 顶部加载
if (noMoreMessage) { if (noMoreMessage) {
if (!SystemUidUtil.isSystemUid(container.account)){
IMMessage imMessage = MessageBuilder.createCustomMessage(container.account, container.sessionType, new UserCardAttachment()); IMMessage imMessage = MessageBuilder.createCustomMessage(container.account, container.sessionType, new UserCardAttachment());
imMessage.setStatus(MsgStatusEnum.draft); imMessage.setStatus(MsgStatusEnum.draft);
messages.add(0, imMessage); messages.add(0, imMessage);
}
adapter.fetchMoreEnd(messages, true); adapter.fetchMoreEnd(messages, true);
} else { } else {
adapter.fetchMoreComplete(messages); adapter.fetchMoreComplete(messages);

View File

@@ -168,6 +168,7 @@ public class NimP2PMessageActivity extends NewBaseMessageActivity {
private void addBlackList() { private void addBlackList() {
if (SystemUidUtil.isSystemUid(sessionId)) { if (SystemUidUtil.isSystemUid(sessionId)) {
ivAddBlackList.setVisibility(View.GONE); ivAddBlackList.setVisibility(View.GONE);
ivAttention.setVisibility(View.GONE);
return; return;
} }
ivAddBlackList.setVisibility(View.VISIBLE); ivAddBlackList.setVisibility(View.VISIBLE);

View File

@@ -144,10 +144,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
app:layout_constraintBottom_toTopOf="@id/tv_desc" android:visibility="visible"
app:layout_constraintBottom_toBottomOf="@id/tv_nick"
app:layout_constraintStart_toEndOf="@id/iv_head_wear" app:layout_constraintStart_toEndOf="@id/iv_head_wear"
app:layout_constraintTop_toTopOf="@id/iv_avatar" app:layout_constraintTop_toTopOf="@id/tv_nick"
app:layout_constraintVertical_chainStyle="packed"
tools:src="@drawable/ic_gender_female" /> tools:src="@drawable/ic_gender_female" />
<TextView <TextView
@@ -157,9 +157,10 @@
android:layout_marginStart="4dp" android:layout_marginStart="4dp"
android:textColor="@color/color_333333" android:textColor="@color/color_333333"
android:textSize="16dp" android:textSize="16dp"
app:layout_constraintBottom_toBottomOf="@id/iv_vip_icon" app:layout_constraintBottom_toTopOf="@id/tv_desc"
app:layout_constraintStart_toEndOf="@id/iv_vip_icon" app:layout_constraintStart_toEndOf="@id/iv_vip_icon"
app:layout_constraintTop_toTopOf="@id/iv_vip_icon" app:layout_constraintTop_toTopOf="@id/iv_avatar"
app:layout_constraintVertical_chainStyle="packed"
app:layout_goneMarginStart="10dp" app:layout_goneMarginStart="10dp"
tools:text="这就是大哥呀呀" /> tools:text="这就是大哥呀呀" />
@@ -170,8 +171,8 @@
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
android:background="@drawable/shape_ff90ae_to_ff497d" android:background="@drawable/shape_ff90ae_to_ff497d"
android:drawableStart="@drawable/ic_gender_female_empty_bg" android:drawableStart="@drawable/ic_gender_female_empty_bg"
android:gravity="center_vertical"
android:drawablePadding="2dp" android:drawablePadding="2dp"
android:gravity="center_vertical"
android:includeFontPadding="false" android:includeFontPadding="false"
android:paddingStart="4dp" android:paddingStart="4dp"
android:textColor="@color/white" android:textColor="@color/white"
@@ -202,15 +203,19 @@
<TextView <TextView
android:id="@+id/tv_desc" android:id="@+id/tv_desc"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="6dp" android:layout_marginTop="6dp"
android:layout_marginEnd="10dp"
android:lines="1"
android:textColor="#BABBCD" android:textColor="#BABBCD"
android:textSize="14dp" android:textSize="14dp"
app:layout_constraintBottom_toBottomOf="@id/iv_avatar" app:layout_constraintBottom_toBottomOf="@id/iv_avatar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/iv_vip_icon" app:layout_constraintStart_toStartOf="@id/iv_vip_icon"
app:layout_constraintTop_toBottomOf="@id/iv_vip_icon" app:layout_constraintTop_toBottomOf="@id/tv_nick"
tools:text="正在“可惜不是你…”热聊中" /> app:layout_goneMarginStart="10dp"
tools:text="正在“可惜不是你…”热聊中正在“可惜不是你…”热聊中正在“可惜不是你…”热聊中" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_photos" android:id="@+id/rv_photos"