Add backup subscriber fields to account record.

This commit is contained in:
Alex Hart
2024-10-10 16:18:29 -03:00
committed by Greyson Parrelli
parent 497cec4c17
commit 340bb93653
4 changed files with 41 additions and 5 deletions

View File

@@ -38,6 +38,7 @@ public final class SignalAccountRecord implements SignalRecord {
private final Payments payments;
private final List<String> defaultReactions;
private final Subscriber subscriber;
private final Subscriber backupsSubscriber;
public SignalAccountRecord(StorageId id, AccountRecord proto) {
this.id = id;
@@ -51,6 +52,7 @@ public final class SignalAccountRecord implements SignalRecord {
this.pinnedConversations = new ArrayList<>(proto.pinnedConversations.size());
this.defaultReactions = new ArrayList<>(proto.preferredReactionEmoji);
this.subscriber = new Subscriber(proto.subscriberCurrencyCode, proto.subscriberId.toByteArray());
this.backupsSubscriber = new Subscriber(proto.backupsSubscriberCurrencyCode, proto.backupsSubscriberId.toByteArray());
if (proto.payments != null) {
this.payments = new Payments(proto.payments.enabled, OptionalUtil.absentIfEmpty(proto.payments.entropy));
@@ -207,6 +209,10 @@ public final class SignalAccountRecord implements SignalRecord {
diff.add("HasCompletedUsernameOnboarding");
}
if (!Objects.equals(this.getBackupsSubscriber(), that.getBackupsSubscriber())) {
diff.add("BackupsSubscriber");
}
return diff.toString();
} else {
return "Different class. " + getClass().getSimpleName() + " | " + other.getClass().getSimpleName();
@@ -301,6 +307,10 @@ public final class SignalAccountRecord implements SignalRecord {
return subscriber;
}
public Subscriber getBackupsSubscriber() {
return backupsSubscriber;
}
public boolean isDisplayBadgesOnProfile() {
return proto.displayBadgesOnProfile;
}
@@ -666,6 +676,18 @@ public final class SignalAccountRecord implements SignalRecord {
return this;
}
public Builder setBackupsSubscriber(Subscriber subscriber) {
if (subscriber.id.isPresent() && subscriber.currencyCode.isPresent()) {
builder.backupsSubscriberId(ByteString.of(subscriber.id.get()));
builder.backupsSubscriberCurrencyCode(subscriber.currencyCode.get());
} else {
builder.backupsSubscriberId(StorageRecordProtoUtil.getDefaultAccountRecord().subscriberId);
builder.backupsSubscriberCurrencyCode(StorageRecordProtoUtil.getDefaultAccountRecord().subscriberCurrencyCode);
}
return this;
}
public Builder setDisplayBadgesOnProfile(boolean displayBadgesOnProfile) {
builder.displayBadgesOnProfile(displayBadgesOnProfile);
return this;

View File

@@ -219,6 +219,8 @@ message AccountRecord {
string username = 33;
bool hasCompletedUsernameOnboarding = 34;
UsernameLink usernameLink = 35;
bytes backupsSubscriberId = 36;
string backupsSubscriberCurrencyCode = 37;
}
message StoryDistributionListRecord {