From fb4aeba5309d1c840d27c623eec206c664cbc72b Mon Sep 17 00:00:00 2001 From: huangjian Date: Fri, 17 Mar 2023 17:13:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=94=A8=E6=88=B7=E8=BF=87?= =?UTF-8?q?=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 8 +-- .../assets/svga/gift_compound_notify.svga | Bin 349374 -> 349359 bytes .../app/avroom/widget/MessageView.java | 26 ++++---- .../app/avroom/widget/RoomEffectView.kt | 5 +- .../app/home/adapter/RoomCommonAdapter.kt | 9 ++- .../app/home/adapter/RoomNewFriendsAdapter.kt | 12 +++- .../com/nnbc123/app/ui/im/ImInitHelper.java | 6 +- .../ui/im/avtivity/NimP2PMessageActivity.java | 15 ----- .../recent/holder/CommonRecentViewHolder.java | 61 ++++++++++-------- .../main/res/layout/fragment_recommend.xml | 2 +- app/src/main/res/layout/item_room_common.xml | 40 +++++++++--- .../main/res/layout/item_room_new_friends.xml | 4 +- app/src/main/res/values/strings.xml | 6 +- app/src/main/res/values/styles.xml | 6 ++ .../fragment/RoomMsgFansListFragment.java | 1 - .../nnbc123/core/home/bean/HomeRoomInfo.java | 10 +++ .../nnbc123/core/initial/bean/InitInfo.java | 9 +++ .../java/com/nnbc123/core/pay/PayModel.java | 7 +- .../com/nnbc123/core/utils/SystemUidUtil.java | 10 ++- 19 files changed, 146 insertions(+), 91 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0c7814ae9..5812f128a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -833,13 +833,11 @@ android:windowSoftInputMode="stateHidden|adjustResize" /> + android:theme="@style/dialog_web_view_activity_dim_false" /> - + android:theme="@style/dialog_web_view_activity_dim_false" /> + diff --git a/app/src/main/assets/svga/gift_compound_notify.svga b/app/src/main/assets/svga/gift_compound_notify.svga index c0b08b76e9f4250d6eab7202ad29e82f944b7845..06d65e2ad92199cd61cab624a4f359d7ca255931 100644 GIT binary patch delta 198 zcmdnDQgr=F(S{br7N!>F7M3ln|AOn&FNXKUh%ih~iq+d@YA z$vV4|-@IMv(^vb8>tdis+x(M(YpZJ>$3qrd?n*w?Y4gnaaiHu@+1>TlMSuBod={++06)Q6q5uE@ delta 213 zcmV;`04o2lsTIDd6@Y{RgaU*Egaot&{!@SN)mLYJtn7t5a!~+Wigmfr;=BxAF6fYY z9dpnfo5#)VcYL%LLqK(my*-tw#+B%fLNfgQjv5-L&>c4zejzgseGlDnlxc9kjqb?Bg&lDmaU5|RaU5|Rar}Skc<@dnx?>vc0g3LoeX%#XqrZ|?EZsqI zL*oT>N5RoS@pQ)<1Z#B1O=t5>DhX9~#|} P+p+t%BiH``WexY4wv=aV diff --git a/app/src/main/java/com/nnbc123/app/avroom/widget/MessageView.java b/app/src/main/java/com/nnbc123/app/avroom/widget/MessageView.java index 6342ff370..ea7bf353e 100644 --- a/app/src/main/java/com/nnbc123/app/avroom/widget/MessageView.java +++ b/app/src/main/java/com/nnbc123/app/avroom/widget/MessageView.java @@ -889,8 +889,7 @@ public class MessageView extends FrameLayout { setBoxMeMsg(chatRoomMessage, tvContent); } else if (first == CustomAttachment.CUSTOM_MSG_RADISH) { setRadishMeMsg(chatRoomMessage, tvContent); - } - else if (first == CUSTOM_MSG_KITCHEN) { + } else if (first == CUSTOM_MSG_KITCHEN) { setKitchenMsg(chatRoomMessage, tvContent); } else if (first == CustomAttachment.CUSTOM_MSG_KTV) { setKtvMsg(chatRoomMessage, tvContent); @@ -1014,18 +1013,19 @@ public class MessageView extends FrameLayout { if (giftCompoundAttachment.getSecond() == CUSTOM_MSG_SUB_GIFT_COMPOUND) { GiftCompoundMsgBean msgInfo = giftCompoundAttachment.getMsgBean(); SpannableBuilder text = new SpannableBuilder(tvContent); - text.append( - msgInfo.getNick(), - new ForegroundColorSpan(roomTipNickColor), - new OriginalDrawStatusClickSpan() { - @Override - public void onClick(@NonNull View widget) { - if (clickConsumer != null) { - Single.just(String.valueOf(msgInfo.getUid())).subscribe(clickConsumer); + text.append("恭喜", new ForegroundColorSpan(whiteColor)) + .append( + msgInfo.getNick(), + new ForegroundColorSpan(roomTipNickColor), + new OriginalDrawStatusClickSpan() { + @Override + public void onClick(@NonNull View widget) { + if (clickConsumer != null) { + Single.just(String.valueOf(msgInfo.getUid())).subscribe(clickConsumer); + } + } } - } - } - ) + ) .append(msgInfo.getMsg(), new ForegroundColorSpan(whiteColor)) .append(msgInfo.getGiftName(), new ForegroundColorSpan(roomTipNickColor)); tvContent.setText(text.build()); diff --git a/app/src/main/java/com/nnbc123/app/avroom/widget/RoomEffectView.kt b/app/src/main/java/com/nnbc123/app/avroom/widget/RoomEffectView.kt index e208569c1..becc1a068 100644 --- a/app/src/main/java/com/nnbc123/app/avroom/widget/RoomEffectView.kt +++ b/app/src/main/java/com/nnbc123/app/avroom/widget/RoomEffectView.kt @@ -714,11 +714,12 @@ class RoomEffectView @JvmOverloads constructor( private fun showGiftCompoundNotify(chatRoomMessage: ChatRoomMessage) { val msgBean = (chatRoomMessage.attachment as GiftCompoundAttachment).msgBean val text = SpannableBuilder() + .append("恭喜", ForegroundColorSpan(Color.WHITE)) .append( - msgBean.nick.subAndReplaceDot(7) + " ", + msgBean.nick.subAndReplaceDot(7) + "", ForegroundColorSpan(resources.getColor(R.color.notice_nick)) ) - .append(msgBean.msg + " ", ForegroundColorSpan(Color.WHITE)) + .append(msgBean.msg + "", ForegroundColorSpan(Color.WHITE)) .append( msgBean.giftName, ForegroundColorSpan(resources.getColor(R.color.notice_nick)) diff --git a/app/src/main/java/com/nnbc123/app/home/adapter/RoomCommonAdapter.kt b/app/src/main/java/com/nnbc123/app/home/adapter/RoomCommonAdapter.kt index 4149a719e..8ffa308bc 100644 --- a/app/src/main/java/com/nnbc123/app/home/adapter/RoomCommonAdapter.kt +++ b/app/src/main/java/com/nnbc123/app/home/adapter/RoomCommonAdapter.kt @@ -1,5 +1,6 @@ package com.nnbc123.app.home.adapter +import android.text.TextUtils import android.view.View import android.widget.ImageView import androidx.core.view.isGone @@ -9,7 +10,6 @@ import com.nnbc123.app.R import com.nnbc123.app.ui.utils.ImageLoadUtilsV2 import com.nnbc123.app.ui.utils.load import com.nnbc123.core.home.bean.HomeRoomInfo -import com.nnbc123.core.utils.TextUtils class RoomCommonAdapter : @@ -21,10 +21,13 @@ class RoomCommonAdapter : setText(R.id.tv_online_number, "${item.onlineNum}") setText(R.id.tv_room_title, item.title) } - helper.setVisible(R.id.tv_in_pk, item.isCrossPking) - helper.setVisible(R.id.iv_room_tag, !TextUtils.isEmptyText(item.tagPict)) + helper.setGone(R.id.tv_in_pk, item.isCrossPking) + helper.setGone(R.id.iv_room_tag, !TextUtils.isEmpty(item.tagPict)) ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_room_tag), item.tagPict) + helper.setGone(R.id.tv_tag_content, !TextUtils.isEmpty(item.iconContent)) + .setText(R.id.tv_tag_content, item.iconContent) + helper.getView(R.id.view_bg).setBackgroundResource( when (helper.layoutPosition % 3) { 0 -> R.drawable.bg_home_common_item0 diff --git a/app/src/main/java/com/nnbc123/app/home/adapter/RoomNewFriendsAdapter.kt b/app/src/main/java/com/nnbc123/app/home/adapter/RoomNewFriendsAdapter.kt index 967e84e68..9a7c2ccfa 100644 --- a/app/src/main/java/com/nnbc123/app/home/adapter/RoomNewFriendsAdapter.kt +++ b/app/src/main/java/com/nnbc123/app/home/adapter/RoomNewFriendsAdapter.kt @@ -9,13 +9,16 @@ import com.chad.library.adapter.base.BaseViewHolder import com.nnbc123.app.R import com.nnbc123.app.avroom.activity.AVRoomActivity import com.nnbc123.app.ui.im.avtivity.NimP2PMessageActivity +import com.nnbc123.app.ui.user.UserInfoActivity import com.nnbc123.app.ui.utils.loadAvatar import com.nnbc123.app.ui.utils.loadFromAssets import com.nnbc123.app.vip.VipHelper import com.nnbc123.core.user.bean.UserInfo import com.nnbc123.core.utils.CurrentTimeUtils +import com.nnbc123.core.utils.StarUtils import com.nnbc123.core.utils.ifNullOrEmpty import com.opensource.svgaplayer.SVGAImageView +import java.util.* class RoomNewFriendsAdapter : @@ -29,7 +32,10 @@ class RoomNewFriendsAdapter : R.id.tv_age, ((CurrentTimeUtils.getCurrentTime() - item.birth) / 1000 / 60 / 60 / 24 / 365).toString() ) - + //设置星座 + val star = StarUtils.getConstellation(Date(item.birth)) + helper.setGone(R.id.tv_constellation, star != null) + .setText(R.id.tv_constellation, star) helper.setBackgroundRes( R.id.ll_gender_age, if (item.gender == 1) R.drawable.shape_65d3f7_corner else R.drawable.shape_ff9cce_corner @@ -59,6 +65,10 @@ class RoomNewFriendsAdapter : } } + helper.getView(R.id.iv_avatar).setOnClickListener { + UserInfoActivity.Companion.start(mContext, item.uid) + } + val tvNickname = helper.getView(R.id.tv_nickname) tvNickname.text = item.nick VipHelper.loadVipNickColor(tvNickname, item.userVipInfoVO, "#282828") diff --git a/app/src/main/java/com/nnbc123/app/ui/im/ImInitHelper.java b/app/src/main/java/com/nnbc123/app/ui/im/ImInitHelper.java index 6e7ce267d..dbb423a86 100644 --- a/app/src/main/java/com/nnbc123/app/ui/im/ImInitHelper.java +++ b/app/src/main/java/com/nnbc123/app/ui/im/ImInitHelper.java @@ -62,6 +62,7 @@ import com.nnbc123.core.im.custom.bean.SysMsgAttachment; import com.nnbc123.core.im.custom.bean.SysMsgV2Attachment; import com.nnbc123.core.miniworld.bean.OpenAudioPartyAttachment; import com.nnbc123.core.public_chat_hall.attachment.AitMeAttachment; +import com.nnbc123.core.utils.SystemUidUtil; import java.util.ArrayList; @@ -79,13 +80,14 @@ public class ImInitHelper { @Override public void onAvatarClick(Context context, String account) { + if (SystemUidUtil.isSystemUid(account)) return; UserInfoActivity.Companion.start(context, Long.parseLong(account)); } }; private final SessionEventListener listener = new SessionEventListener() { @Override 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())); } @@ -108,7 +110,7 @@ public class ImInitHelper { initTeamSessionCustomization(); } - public void unInit(){ + public void unInit() { NimUIKit.setSessionListener(null); NimUIKit.setContactEventListener(null); } diff --git a/app/src/main/java/com/nnbc123/app/ui/im/avtivity/NimP2PMessageActivity.java b/app/src/main/java/com/nnbc123/app/ui/im/avtivity/NimP2PMessageActivity.java index 54ee3e3e3..65f7684ac 100644 --- a/app/src/main/java/com/nnbc123/app/ui/im/avtivity/NimP2PMessageActivity.java +++ b/app/src/main/java/com/nnbc123/app/ui/im/avtivity/NimP2PMessageActivity.java @@ -414,21 +414,6 @@ public class NimP2PMessageActivity extends NewBaseMessageActivity { MessageFragment fragment = new MessageFragment(); fragment.setArguments(arguments); fragment.setContainerId(R.id.message_fragment_container); - - // 等级限制:官方小秘书 和 系统消息,不设置等级限制 - if (!SystemUidUtil.isSystemUid(sessionId)) { - UserInfo userInfo = UserModel.get().getCacheLoginUserInfo(); - if (userInfo != null) { - UserLevelVo userLevelVo = userInfo.getUserLevelVo(); - if (userLevelVo != null) { - fragment.setCurrentLevel(userLevelVo.experLevelSeq); - } - } - InitInfo initInfo = InitialModel.get().getCacheInitInfo(); - if (initInfo != null) { - fragment.setLimitLevel(initInfo.getPrivateChatLevelNo()); - } - } return fragment; } diff --git a/app/src/main/java/com/nnbc123/app/ui/im/recent/holder/CommonRecentViewHolder.java b/app/src/main/java/com/nnbc123/app/ui/im/recent/holder/CommonRecentViewHolder.java index f9edd68f1..4fcf8ed3d 100644 --- a/app/src/main/java/com/nnbc123/app/ui/im/recent/holder/CommonRecentViewHolder.java +++ b/app/src/main/java/com/nnbc123/app/ui/im/recent/holder/CommonRecentViewHolder.java @@ -1,9 +1,12 @@ package com.nnbc123.app.ui.im.recent.holder; +import static android.view.View.GONE; +import static android.view.View.INVISIBLE; +import static android.view.View.VISIBLE; + import android.annotation.SuppressLint; import android.graphics.drawable.AnimationDrawable; import android.os.Handler; -import android.text.TextUtils; import android.view.View; import com.netease.nim.uikit.api.NimUIKit; @@ -15,21 +18,18 @@ import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; import com.netease.nimlib.sdk.msg.model.RecentContact; import com.nnbc123.app.R; -import com.nnbc123.app.ui.utils.ImageLoadUtils; import com.nnbc123.app.vip.VipHelper; -import com.nnbc123.core.level.UserLevelVo; import com.nnbc123.core.user.UserModel; +import com.nnbc123.core.user.bean.UserInfo; import com.nnbc123.core.utils.SystemUidUtil; -import static android.view.View.GONE; -import static android.view.View.INVISIBLE; -import static android.view.View.VISIBLE; - /** * @author Administrator */ public class CommonRecentViewHolder extends RecentViewHolder { + private UserInfo userInfo; + public CommonRecentViewHolder(BaseQuickAdapter adapter) { super(adapter); } @@ -114,13 +114,10 @@ public class CommonRecentViewHolder extends RecentViewHolder { if (o instanceof String && o.equals("0")) { imgUnreadExplosion.setImageResource(R.drawable.explosion); imgUnreadExplosion.setVisibility(VISIBLE); - new Handler().post(new Runnable() { - @Override - public void run() { - ((AnimationDrawable) imgUnreadExplosion.getDrawable()).start(); - // 解决部分手机动画无法播放的问题(例如华为荣耀) - getAdapter().notifyItemChanged(getAdapter().getViewHolderPosition(position)); - } + new Handler().post(() -> { + ((AnimationDrawable) imgUnreadExplosion.getDrawable()).start(); + // 解决部分手机动画无法播放的问题(例如华为荣耀) + getAdapter().notifyItemChanged(getAdapter().getViewHolderPosition(position)); }); } } else { @@ -136,22 +133,34 @@ public class CommonRecentViewHolder extends RecentViewHolder { if (recent == null) return; String contactId = recent.getContactId(); //去除小秘书,系统消息 - if (SystemUidUtil.isSystemUid(contactId) ) { + if (SystemUidUtil.isSystemUid(contactId)) { + ivUserGender.setVisibility(GONE); + ivVipIcon.setVisibility(GONE); return; } - UserModel.get() - .getUserInfo(Long.parseLong(contactId)) - .subscribe(userInfo -> { - if (userInfo.getGender() == 1) { - ivUserGender.setImageResource(R.drawable.ic_gender_male); - } else { - ivUserGender.setImageResource(R.drawable.ic_gender_female); - } - VipHelper.loadVipIcon(ivVipIcon,userInfo.getUserVipInfoVO()); - VipHelper.loadVipNickColor(tvNickname, userInfo.getUserVipInfoVO(),"#FF333333"); - }); + if (userInfo != null && userInfo.getUid() == Long.parseLong(contactId)) { + setupUserInfo(userInfo); + } else { + UserModel.get() + .getUserInfo(Long.parseLong(contactId)) + .subscribe(userInfo -> { + if (userInfo.getUid() != Long.parseLong(contactId)) return; + setupUserInfo(userInfo); + this.userInfo = userInfo; + }); + } } + private void setupUserInfo(UserInfo userInfo) { + ivUserGender.setVisibility(VISIBLE); + if (userInfo.getGender() == 1) { + ivUserGender.setImageResource(R.drawable.ic_gender_male); + } else { + ivUserGender.setImageResource(R.drawable.ic_gender_female); + } + VipHelper.loadVipIcon(ivVipIcon, userInfo.getUserVipInfoVO()); + VipHelper.loadVipNickColor(tvNickname, userInfo.getUserVipInfoVO(), "#FF333333"); + } } diff --git a/app/src/main/res/layout/fragment_recommend.xml b/app/src/main/res/layout/fragment_recommend.xml index 70a63b75e..9e2a6e674 100644 --- a/app/src/main/res/layout/fragment_recommend.xml +++ b/app/src/main/res/layout/fragment_recommend.xml @@ -280,7 +280,7 @@ - + app:layout_constraintTop_toBottomOf="@id/tv_room_title"> + + + + + + + app:layout_constraintTop_toBottomOf="@id/ll_tag"> + app:layout_constraintTop_toTopOf="@id/ll_gender_age" + tools:text="巨蟹座" /> 联系人 好友 关注 - 你还没有添加任何好友哦! \n快去添加好友吧! + 你还没有添加任何好友哦! 你还没有任何音萌粉丝哦! 请先绑定您的支付宝帐号 我的钻石余额 @@ -155,7 +155,7 @@ 我的关注 我的粉丝 - 你还没有关注任何音萌好友哦! \n快去添加关注吧! + 你还没有关注任何音萌好友哦! 搜索昵称或ID 在线中… 客服 @@ -613,7 +613,7 @@ 录制声音 关闭 - 你还没有聊天记录哦!\n快去和好友聊天吧! + 你还没有聊天记录哦! 未加入家族 请点击设置编辑房间话题 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 19a65c838..227d729ee 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -184,6 +184,12 @@ @anim/anim_bottom_out + + +