mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-26 10:58:14 +00:00
Fix UD indicators for sent transcripts.
This commit is contained in:
@@ -966,7 +966,7 @@ public final class PushProcessMessageJob extends BaseJob {
|
||||
if (recipients.isGroup()) {
|
||||
updateGroupReceiptStatus(message, messageId, recipients.requireGroupId());
|
||||
} else {
|
||||
database.markUnidentified(messageId, message.isUnidentified(recipients.requireServiceId()));
|
||||
database.markUnidentified(messageId, isUnidentified(message, recipients));
|
||||
}
|
||||
|
||||
database.markAsSent(messageId, true);
|
||||
@@ -1120,7 +1120,7 @@ public final class PushProcessMessageJob extends BaseJob {
|
||||
|
||||
messageId = DatabaseFactory.getSmsDatabase(context).insertMessageOutbox(threadId, outgoingTextMessage, false, message.getTimestamp(), null);
|
||||
database = DatabaseFactory.getSmsDatabase(context);
|
||||
database.markUnidentified(messageId, message.isUnidentified(recipient.requireServiceId()));
|
||||
database.markUnidentified(messageId, isUnidentified(message, recipient));
|
||||
}
|
||||
|
||||
database.markAsSent(messageId, true);
|
||||
@@ -1595,6 +1595,19 @@ public final class PushProcessMessageJob extends BaseJob {
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isUnidentified(@NonNull SentTranscriptMessage message, @NonNull Recipient recipient) {
|
||||
boolean unidentified = false;
|
||||
|
||||
if (recipient.hasE164()) {
|
||||
unidentified |= message.isUnidentified(recipient.requireE164());
|
||||
}
|
||||
if (recipient.hasUuid()) {
|
||||
unidentified |= message.isUnidentified(recipient.requireUuid());
|
||||
}
|
||||
|
||||
return unidentified;
|
||||
}
|
||||
|
||||
@SuppressWarnings("WeakerAccess")
|
||||
private static class StorageFailedException extends Exception {
|
||||
private final String sender;
|
||||
|
@@ -447,6 +447,17 @@ public class Recipient {
|
||||
return Optional.fromNullable(e164).or(Optional.fromNullable(email));
|
||||
}
|
||||
|
||||
public @NonNull UUID requireUuid() {
|
||||
UUID resolved = resolving ? resolve().uuid : uuid;
|
||||
|
||||
if (resolved == null) {
|
||||
throw new MissingAddressError();
|
||||
}
|
||||
|
||||
return resolved;
|
||||
}
|
||||
|
||||
|
||||
public @NonNull String requireE164() {
|
||||
String resolved = resolving ? resolve().e164 : e164;
|
||||
|
||||
|
Reference in New Issue
Block a user