Fix a PNP-related contact merge scenario.

fork-5.53.8
Greyson Parrelli 2022-09-28 14:40:44 -04:00
rodzic 9498a34293
commit b6d7271858
2 zmienionych plików z 4 dodań i 3 usunięć

Wyświetl plik

@ -956,9 +956,9 @@ open class RecipientDatabase(context: Context, databaseHelper: SignalDatabase) :
if (id < 0) {
Log.w(TAG, "[applyStorageSyncContactInsert] Failed to insert. Possibly merging.")
if (FeatureFlags.phoneNumberPrivacy()) {
recipientId = getAndPossiblyMerge(if (insert.serviceId.isValid) insert.serviceId else null, insert.number.orElse(null))
} else {
recipientId = getAndPossiblyMergePnpVerified(if (insert.serviceId.isValid) insert.serviceId else null, insert.pni.orElse(null), insert.number.orElse(null))
} else {
recipientId = getAndPossiblyMerge(if (insert.serviceId.isValid) insert.serviceId else null, insert.number.orElse(null))
}
db.update(TABLE_NAME, values, ID_WHERE, SqlUtil.buildArgs(recipientId))
} else {

Wyświetl plik

@ -25,6 +25,7 @@ import org.thoughtcrime.securesms.messages.MessageDecryptionUtil.DecryptionResul
import org.thoughtcrime.securesms.notifications.NotificationChannels;
import org.thoughtcrime.securesms.notifications.NotificationIds;
import org.thoughtcrime.securesms.transport.RetryLaterException;
import org.thoughtcrime.securesms.util.FeatureFlags;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.whispersystems.signalservice.api.SignalServiceMessageSender;
import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
@ -106,7 +107,7 @@ public final class PushDecryptMessageJob extends BaseJob {
handleSenderKeyDistributionMessage(result.getContent().getSender(), result.getContent().getSenderDevice(), result.getContent().getSenderKeyDistributionMessage().get());
}
if (result.getContent().getPniSignatureMessage().isPresent()) {
if (FeatureFlags.phoneNumberPrivacy() && result.getContent().getPniSignatureMessage().isPresent()) {
handlePniSignatureMessage(result.getContent().getSender(), result.getContent().getSenderDevice(), result.getContent().getPniSignatureMessage().get());
}