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 ""; + } }