Fix group send with sender key failure due to mistmatch identity.
This commit is contained in:
parent
c2f953b097
commit
791c1ee8dd
2 changed files with 7 additions and 7 deletions
|
@ -3646,14 +3646,14 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
|||
|
||||
@Override
|
||||
public void onMessageWithErrorClicked(@NonNull MessageRecord messageRecord) {
|
||||
if (messageRecord.hasFailedWithNetworkFailures()) {
|
||||
if (messageRecord.isIdentityMismatchFailure()) {
|
||||
SafetyNumberChangeDialog.show(this, messageRecord);
|
||||
} else if (messageRecord.hasFailedWithNetworkFailures()) {
|
||||
new AlertDialog.Builder(this)
|
||||
.setMessage(R.string.conversation_activity__message_could_not_be_sent)
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.setPositiveButton(R.string.conversation_activity__send, (dialog, which) -> MessageSender.resend(this, messageRecord))
|
||||
.show();
|
||||
} else if (messageRecord.isIdentityMismatchFailure()) {
|
||||
SafetyNumberChangeDialog.show(this, messageRecord);
|
||||
} else {
|
||||
startActivity(MessageDetailsActivity.getIntentForMessageDetails(this, messageRecord, messageRecord.getRecipient().getId(), messageRecord.getThreadId()));
|
||||
}
|
||||
|
|
|
@ -1745,12 +1745,12 @@ public class SignalServiceMessageSender {
|
|||
.filter(r -> !r.isSuccess())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
Set<SignalServiceAddress> failedAddresses = trueFailures.stream()
|
||||
.map(SendMessageResult::getAddress)
|
||||
.collect(Collectors.toSet());
|
||||
Set<ACI> failedAddresses = trueFailures.stream()
|
||||
.map(result -> result.getAddress().getAci())
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
List<SendMessageResult> fakeNetworkFailures = recipients.stream()
|
||||
.filter(r -> !failedAddresses.contains(r))
|
||||
.filter(r -> !failedAddresses.contains(r.getAci()))
|
||||
.map(SendMessageResult::networkFailure)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue