From 3ba2b0d93df5414ea4c063a70d119407d4957100 Mon Sep 17 00:00:00 2001 From: huangjian Date: Wed, 1 Mar 2023 23:50:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=BF=E4=B8=8A=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mango/moshen/MainActivity.java | 7 +++++++ .../java/com/mango/moshen/ui/im/InputPanel.java | 1 + app/src/main/res/layout/dialog_bottom_gift.xml | 2 ++ .../java/com/mango/core/utils/SystemUidUtil.java | 15 +++++++++++++++ 4 files changed, 25 insertions(+) diff --git a/app/src/main/java/com/mango/moshen/MainActivity.java b/app/src/main/java/com/mango/moshen/MainActivity.java index 3ec94758a..6a9d22041 100644 --- a/app/src/main/java/com/mango/moshen/MainActivity.java +++ b/app/src/main/java/com/mango/moshen/MainActivity.java @@ -25,6 +25,7 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.ViewModelProvider; +import com.mango.core.utils.SystemUidUtil; import com.mango.moshen.home.fragment.PmModeFragment; import com.mango.moshen.ui.im.recent.RecentListFragment; import com.mango.moshen.ui.patriarch.PmModeChangeEvent; @@ -132,6 +133,7 @@ import org.jetbrains.annotations.NotNull; import java.lang.ref.WeakReference; import java.util.List; +import java.util.Objects; import java.util.concurrent.TimeUnit; import io.reactivex.Observable; @@ -525,6 +527,7 @@ public class MainActivity extends BaseMvpActivity public void onReceiveRecentContactChanged(List imMessages) { int countIgnore = 0; + String subscriptionUid = SystemUidUtil.getSubscriptionUid(); for (RecentContact recentContact : imMessages) { if (recentContact.getSessionType() == SessionTypeEnum.Team) { @@ -535,6 +538,10 @@ public class MainActivity extends BaseMvpActivity } + if (Objects.equals(subscriptionUid, recentContact.getContactId())) { + countIgnore += recentContact.getUnreadCount(); + } + } int unreadCount = IMMessageManager.get().queryUnreadMsg() + countIgnore; mMainTabLayout.setMsgNum(unreadCount); diff --git a/app/src/main/java/com/mango/moshen/ui/im/InputPanel.java b/app/src/main/java/com/mango/moshen/ui/im/InputPanel.java index 088554576..14085d663 100644 --- a/app/src/main/java/com/mango/moshen/ui/im/InputPanel.java +++ b/app/src/main/java/com/mango/moshen/ui/im/InputPanel.java @@ -382,6 +382,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba .addContentScrollMeasurer(new ContentScrollMeasurer() { @Override public int getScrollDistance(int defaultDistance) { + if (inRoom) return 0; return defaultDistance - getUnfilledHeight(); } diff --git a/app/src/main/res/layout/dialog_bottom_gift.xml b/app/src/main/res/layout/dialog_bottom_gift.xml index f342f8832..1fe31e8b4 100644 --- a/app/src/main/res/layout/dialog_bottom_gift.xml +++ b/app/src/main/res/layout/dialog_bottom_gift.xml @@ -104,6 +104,8 @@ android:layout_height="wrap_content" android:includeFontPadding="false" android:textColor="@color/white" + android:lines="1" + android:maxLength="10" android:textSize="10sp" tools:text="用户昵称" /> diff --git a/core/src/main/java/com/mango/core/utils/SystemUidUtil.java b/core/src/main/java/com/mango/core/utils/SystemUidUtil.java index 62cb920af..531d2ec74 100644 --- a/core/src/main/java/com/mango/core/utils/SystemUidUtil.java +++ b/core/src/main/java/com/mango/core/utils/SystemUidUtil.java @@ -5,6 +5,9 @@ import com.mango.core.initial.InitialModel; import com.mango.core.initial.bean.InitInfo; import com.mango.xchat_android_constants.XChatConstants; import com.mango.xchat_android_library.utils.ListUtils; +import com.netease.nimlib.sdk.NIMClient; +import com.netease.nimlib.sdk.msg.MsgService; +import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; public class SystemUidUtil { @@ -25,4 +28,16 @@ public class SystemUidUtil { } return false; } + + public static String getSubscriptionUid() { + InitInfo initInfo = InitialModel.get().getCacheInitInfo(); + if (initInfo != null && + !ListUtils.isListEmpty(initInfo.getOfficialMsgUids()) && + initInfo.getOfficialMsgUids().size() == 3) { + return initInfo.getOfficialMsgUids().get(2); + + } + + return ""; + } }