Add Change Number capability and Conversation Update item.

This commit is contained in:
Cody Henthorne
2021-09-08 13:38:39 -04:00
committed by Greyson Parrelli
parent bb446ac1d5
commit 77ff25ec49
31 changed files with 307 additions and 34 deletions

View File

@@ -1,7 +1,5 @@
package org.thoughtcrime.securesms.recipients;
import static org.thoughtcrime.securesms.database.RecipientDatabase.InsightsBannerTier;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.net.Uri;
@@ -63,6 +61,8 @@ import java.util.Objects;
import java.util.UUID;
import java.util.stream.Collectors;
import static org.thoughtcrime.securesms.database.RecipientDatabase.InsightsBannerTier;
public class Recipient {
private static final String TAG = Log.tag(Recipient.class);
@@ -110,6 +110,7 @@ public class Recipient {
private final Capability groupsV1MigrationCapability;
private final Capability senderKeyCapability;
private final Capability announcementGroupCapability;
private final Capability changeNumberCapability;
private final InsightsBannerTier insightsBannerTier;
private final byte[] storageId;
private final MentionSetting mentionSetting;
@@ -362,6 +363,7 @@ public class Recipient {
this.groupsV1MigrationCapability = Capability.UNKNOWN;
this.senderKeyCapability = Capability.UNKNOWN;
this.announcementGroupCapability = Capability.UNKNOWN;
this.changeNumberCapability = Capability.UNKNOWN;
this.storageId = null;
this.mentionSetting = MentionSetting.ALWAYS_NOTIFY;
this.wallpaper = null;
@@ -414,6 +416,7 @@ public class Recipient {
this.groupsV1MigrationCapability = details.groupsV1MigrationCapability;
this.senderKeyCapability = details.senderKeyCapability;
this.announcementGroupCapability = details.announcementGroupCapability;
this.changeNumberCapability = details.changeNumberCapability;
this.storageId = details.storageId;
this.mentionSetting = details.mentionSetting;
this.wallpaper = details.wallpaper;
@@ -918,6 +921,10 @@ public class Recipient {
return announcementGroupCapability;
}
public @NonNull Capability getChangeNumberCapability() {
return changeNumberCapability;
}
/**
* True if this recipient supports the message retry system, or false if we should use the legacy session reset system.
*/

View File

@@ -65,6 +65,7 @@ public class RecipientDetails {
final Recipient.Capability groupsV1MigrationCapability;
final Recipient.Capability senderKeyCapability;
final Recipient.Capability announcementGroupCapability;
final Recipient.Capability changeNumberCapability;
final InsightsBannerTier insightsBannerTier;
final byte[] storageId;
final MentionSetting mentionSetting;
@@ -121,6 +122,7 @@ public class RecipientDetails {
this.groupsV1MigrationCapability = settings.getGroupsV1MigrationCapability();
this.senderKeyCapability = settings.getSenderKeyCapability();
this.announcementGroupCapability = settings.getAnnouncementGroupCapability();
this.changeNumberCapability = settings.getChangeNumberCapability();
this.insightsBannerTier = settings.getInsightsBannerTier();
this.storageId = settings.getStorageId();
this.mentionSetting = settings.getMentionSetting();
@@ -177,6 +179,7 @@ public class RecipientDetails {
this.groupsV1MigrationCapability = Recipient.Capability.UNKNOWN;
this.senderKeyCapability = Recipient.Capability.UNKNOWN;
this.announcementGroupCapability = Recipient.Capability.UNKNOWN;
this.changeNumberCapability = Recipient.Capability.UNKNOWN;
this.storageId = null;
this.mentionSetting = MentionSetting.ALWAYS_NOTIFY;
this.wallpaper = null;