Skip to content

Commit fa28cd3

Browse files
committed
Withdraw notifications if the frontend knows the conversation is read
1 parent 5c89fdb commit fa28cd3

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

Signal-Windows/SignalWindowsFrontend.cs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ public void HandleIdentitykeyChange(LinkedList<SignalMessage> messages)
4141

4242
public AppendResult HandleMessage(SignalMessage message, SignalConversation conversation)
4343
{
44-
return Locator.MainPageInstance.HandleMessage(message, conversation);
44+
var result = Locator.MainPageInstance.HandleMessage(message, conversation);
45+
CheckNotification(conversation);
46+
return result;
4547
}
4648

4749
public void HandleMessageUpdate(SignalMessage updatedMessage)
@@ -78,20 +80,25 @@ public void HandleAttachmentStatusChanged(SignalAttachment sa)
7880
public void HandleMessageRead(long messageIndex, SignalConversation conversation)
7981
{
8082
Locator.MainPageInstance.HandleMessageRead(messageIndex, conversation);
83+
CheckNotification(conversation);
84+
}
85+
86+
public void HandleUnreadMessage(SignalMessage message)
87+
{
8188
if (ApplicationView.GetForCurrentView().Id == App.MainViewId)
8289
{
83-
if (conversation.UnreadCount == 0)
84-
{
85-
NotificationsUtils.Withdraw(conversation.ThreadId);
86-
}
90+
NotificationsUtils.Notify(message);
8791
}
8892
}
8993

90-
public void HandleUnreadMessage(SignalMessage message)
94+
private void CheckNotification(SignalConversation conversation)
9195
{
9296
if (ApplicationView.GetForCurrentView().Id == App.MainViewId)
9397
{
94-
NotificationsUtils.Notify(message);
98+
if (conversation.UnreadCount == 0)
99+
{
100+
NotificationsUtils.Withdraw(conversation.ThreadId);
101+
}
95102
}
96103
}
97104
}

0 commit comments

Comments
 (0)