Move to defined from_recipient_id and to_recipient_id columns on message table.

This commit is contained in:
Greyson Parrelli
2023-04-14 14:23:05 -04:00
committed by Cody Henthorne
parent d079f85eca
commit 279ad7945e
86 changed files with 944 additions and 719 deletions

View File

@@ -38,7 +38,7 @@ public final class MessageDetails {
viewed = new TreeSet<>(RECIPIENT_COMPARATOR);
skipped = new TreeSet<>(RECIPIENT_COMPARATOR);
if (conversationMessage.getMessageRecord().getRecipient().isSelf()) {
if (conversationMessage.getMessageRecord().getToRecipient().isSelf()) {
read.addAll(recipients);
} else if (conversationMessage.getMessageRecord().isOutgoing()) {
for (RecipientDeliveryStatus status : recipients) {

View File

@@ -76,19 +76,19 @@ public final class MessageDetailsRepository {
private @NonNull MessageDetails getRecipientDeliveryStatusesInternal(@NonNull MessageRecord messageRecord) {
List<RecipientDeliveryStatus> recipients = new LinkedList<>();
if (!messageRecord.getRecipient().isGroup() && !messageRecord.getRecipient().isDistributionList()) {
if (!messageRecord.getToRecipient().isGroup() && !messageRecord.getToRecipient().isDistributionList()) {
recipients.add(new RecipientDeliveryStatus(messageRecord,
messageRecord.getRecipient(),
messageRecord.getToRecipient(),
getStatusFor(messageRecord),
messageRecord.isUnidentified(),
messageRecord.getReceiptTimestamp(),
getNetworkFailure(messageRecord, messageRecord.getRecipient()),
getKeyMismatchFailure(messageRecord, messageRecord.getRecipient())));
getNetworkFailure(messageRecord, messageRecord.getToRecipient()),
getKeyMismatchFailure(messageRecord, messageRecord.getToRecipient())));
} else {
List<GroupReceiptTable.GroupReceiptInfo> receiptInfoList = SignalDatabase.groupReceipts().getGroupReceiptInfo(messageRecord.getId());
if (receiptInfoList.isEmpty() && messageRecord.getRecipient().isGroup()) {
List<Recipient> group = SignalDatabase.groups().getGroupMembers(messageRecord.getRecipient().requireGroupId(), GroupTable.MemberSet.FULL_MEMBERS_EXCLUDING_SELF);
if (receiptInfoList.isEmpty() && messageRecord.getToRecipient().isGroup()) {
List<Recipient> group = SignalDatabase.groups().getGroupMembers(messageRecord.getToRecipient().requireGroupId(), GroupTable.MemberSet.FULL_MEMBERS_EXCLUDING_SELF);
for (Recipient recipient : group) {
recipients.add(new RecipientDeliveryStatus(messageRecord,
@@ -99,8 +99,8 @@ public final class MessageDetailsRepository {
getNetworkFailure(messageRecord, recipient),
getKeyMismatchFailure(messageRecord, recipient)));
}
} else if (receiptInfoList.isEmpty() && messageRecord.getRecipient().isDistributionList()) {
DistributionId distributionId = SignalDatabase.distributionLists().getDistributionId(messageRecord.getRecipient().requireDistributionListId());
} else if (receiptInfoList.isEmpty() && messageRecord.getToRecipient().isDistributionList()) {
DistributionId distributionId = SignalDatabase.distributionLists().getDistributionId(messageRecord.getToRecipient().requireDistributionListId());
Set<RecipientId> recipientIds = SignalDatabase.storySends().getRecipientsForDistributionId(messageRecord.getId(), Objects.requireNonNull(distributionId));
List<Recipient> resolved = Recipient.resolvedList(recipientIds);

View File

@@ -104,7 +104,7 @@ final class MessageHeaderViewHolder extends RecyclerView.ViewHolder implements G
glideRequests,
Locale.getDefault(),
new HashSet<>(),
conversationMessage.getMessageRecord().getRecipient(),
conversationMessage.getMessageRecord().getToRecipient(),
null,
false,
false,

View File

@@ -51,7 +51,7 @@ final class RecipientViewHolder extends RecyclerView.ViewHolder {
conflictButton.setVisibility(View.VISIBLE);
error.setText(itemView.getContext().getString(R.string.message_details_recipient__new_safety_number));
conflictButton.setOnClickListener(unused -> callbacks.onErrorClicked(data.getMessageRecord()));
} else if ((data.getNetworkFailure() != null && !data.getMessageRecord().isPending()) || (!data.getMessageRecord().getRecipient().isPushGroup() && data.getMessageRecord().isFailed())) {
} else if ((data.getNetworkFailure() != null && !data.getMessageRecord().isPending()) || (!data.getMessageRecord().getToRecipient().isPushGroup() && data.getMessageRecord().isFailed())) {
timestamp.setVisibility(View.GONE);
error.setVisibility(View.VISIBLE);
conflictButton.setVisibility(View.GONE);