Improve messaging and UX around safety number changes.

This commit is contained in:
Cody Henthorne
2020-06-26 11:10:54 -04:00
committed by GitHub
parent 819f0f68f6
commit bbe003a454
22 changed files with 713 additions and 83 deletions

View File

@@ -280,6 +280,18 @@ public class MmsSmsDatabase extends Database {
else return id;
}
public @Nullable MessageRecord getMessageRecord(long messageId) {
try {
return DatabaseFactory.getSmsDatabase(context).getMessage(messageId);
} catch (NoSuchMessageException e1) {
try {
return DatabaseFactory.getMmsDatabase(context).getMessageRecord(messageId);
} catch (NoSuchMessageException e2) {
return null;
}
}
}
public void incrementDeliveryReceiptCount(SyncMessageId syncMessageId, long timestamp) {
DatabaseFactory.getSmsDatabase(context).incrementReceiptCount(syncMessageId, true);
DatabaseFactory.getMmsDatabase(context).incrementReceiptCount(syncMessageId, timestamp, true);

View File

@@ -1,12 +1,15 @@
package org.thoughtcrime.securesms.database.identity;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.thoughtcrime.securesms.database.IdentityDatabase.IdentityRecord;
import org.thoughtcrime.securesms.database.IdentityDatabase.VerifiedStatus;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.RecipientId;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.TimeUnit;
@@ -24,6 +27,10 @@ public final class IdentityRecordList {
identityRecords.addAll(identityRecordList.identityRecords);
}
public List<IdentityRecord> getIdentityRecords() {
return Collections.unmodifiableList(identityRecords);
}
public boolean isVerified() {
for (IdentityRecord identityRecord : identityRecords) {
if (identityRecord.getVerifiedStatus() != VerifiedStatus.VERIFIED) {

View File

@@ -285,6 +285,10 @@ public abstract class MessageRecord extends DisplayRecord {
return networkFailures != null && !networkFailures.isEmpty();
}
public boolean hasFailedWithNetworkFailures() {
return isFailed() && ((getRecipient().isPushGroup() && hasNetworkFailures()) || !isIdentityMismatchFailure());
}
protected SpannableString emphasisAdded(String sequence) {
SpannableString spannable = new SpannableString(sequence);
spannable.setSpan(new RelativeSizeSpan(0.9f), 0, sequence.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);