synchronize around notification update from corrected messages

This commit is contained in:
Daniel Gultsch 2019-01-12 08:55:46 +01:00
parent 91db13b01b
commit 9efb3c6dc6
2 changed files with 8 additions and 2 deletions

View file

@ -543,7 +543,6 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
} }
extractChatState(mXmppConnectionService.find(account, counterpart.asBareJid()), isTypeGroupChat, packet); extractChatState(mXmppConnectionService.find(account, counterpart.asBareJid()), isTypeGroupChat, packet);
mXmppConnectionService.updateMessage(replacedMessage, uuid); mXmppConnectionService.updateMessage(replacedMessage, uuid);
mXmppConnectionService.getNotificationService().updateNotification(false);
if (mXmppConnectionService.confirmMessages() if (mXmppConnectionService.confirmMessages()
&& replacedMessage.getStatus() == Message.STATUS_RECEIVED && replacedMessage.getStatus() == Message.STATUS_RECEIVED
&& (replacedMessage.trusted() || replacedMessage.getType() == Message.TYPE_PRIVATE) && (replacedMessage.trusted() || replacedMessage.getType() == Message.TYPE_PRIVATE)
@ -557,6 +556,7 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
conversation.getAccount().getPgpDecryptionService().decrypt(replacedMessage, false); conversation.getAccount().getPgpDecryptionService().decrypt(replacedMessage, false);
} }
} }
mXmppConnectionService.getNotificationService().updateNotification();
return; return;
} else { } else {
Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": received message correction but verification didn't check out"); Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": received message correction but verification didn't check out");

View file

@ -366,7 +366,13 @@ public class NotificationService {
mBuilder.setColor(ContextCompat.getColor(mXmppConnectionService, R.color.green600)); mBuilder.setColor(ContextCompat.getColor(mXmppConnectionService, R.color.green600));
} }
public void updateNotification(final boolean notify) { public void updateNotification() {
synchronized (notifications) {
updateNotification(false);
}
}
private void updateNotification(final boolean notify) {
updateNotification(notify, null, false); updateNotification(notify, null, false);
} }