From 7db8afbb3e6b657a3ea22e8df4a6d31e49e72b8d Mon Sep 17 00:00:00 2001 From: xtaodada Date: Sat, 30 Mar 2024 12:30:14 +0800 Subject: [PATCH] fix: unread Badge On BackButton --- .../java/org/telegram/ui/Cells/MemberRequestCell.java | 2 +- .../src/main/java/org/telegram/ui/ChatActivity.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/MemberRequestCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/MemberRequestCell.java index d931fcaab5..7cec1ef558 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/MemberRequestCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/MemberRequestCell.java @@ -91,7 +91,7 @@ public MemberRequestCell(@NonNull Context context, OnClickListener clickListener float dismissButtonWidth = dismissButton.getPaint().measureText(dismissButton.getText().toString()) + btnPadding * 2; TextView banButton = new TextView(getContext()); - banButton.setBackground(Theme.AdaptiveRipple.filledRect(Theme.key_featuredStickers_addButton, 4)); + banButton.setBackground(Theme.AdaptiveRipple.filledRectByKey(Theme.key_featuredStickers_addButton, 4)); banButton.setGravity((LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.CENTER_VERTICAL); banButton.setMaxLines(1); banButton.setPadding(btnPadding, 0, btnPadding, 0); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java index 3b239ecd11..8de1203c36 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java @@ -2586,6 +2586,9 @@ public boolean onFragmentCreate() { getNotificationCenter().addPostponeNotificationsCallback(postponeNotificationsWhileLoadingCallback); + // na: unread count + getNotificationCenter().addObserver(this, NotificationCenter.dialogsUnreadCounterChanged); + if (chatMode != MODE_SCHEDULED) { if (threadMessageId == 0) { getNotificationCenter().addObserver(this, NotificationCenter.screenshotTook); @@ -2983,6 +2986,10 @@ public void onFragmentDestroy() { AndroidUtilities.cancelRunOnUIThread(chatInviteRunnable); chatInviteRunnable = null; } + + // na: unread count + getNotificationCenter().removeObserver(this, NotificationCenter.dialogsUnreadCounterChanged); + getNotificationCenter().removePostponeNotificationsCallback(postponeNotificationsWhileLoadingCallback); getMessagesController().setLastCreatedDialogId(dialog_id, chatMode == MODE_SCHEDULED, false); getNotificationCenter().removeObserver(this, NotificationCenter.messagesDidLoad); @@ -33386,6 +33393,10 @@ public void onViewAttachedToWindow(RecyclerView.ViewHolder holder) { }); } } + // na: unread count + if (actionBar != null) { + actionBar.unreadBadgeSetCount(getMessagesStorage().getMainUnreadCount()); + } } int position = holder.getAdapterPosition();