From fa487e1885052717dc041eb1872c1b3236f118a3 Mon Sep 17 00:00:00 2001 From: Clark Date: Thu, 18 Jul 2024 15:10:39 -0400 Subject: [PATCH] Dont set subscriber data if subscriber is null. --- .../backup/v2/processor/AccountDataProcessor.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/processor/AccountDataProcessor.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/processor/AccountDataProcessor.kt index 8821d5d9fb..fa7c5fc443 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/processor/AccountDataProcessor.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/processor/AccountDataProcessor.kt @@ -25,7 +25,6 @@ import org.thoughtcrime.securesms.recipients.RecipientId import org.thoughtcrime.securesms.util.ProfileUtil import org.thoughtcrime.securesms.util.TextSecurePreferences import org.whispersystems.signalservice.api.push.UsernameLinkComponents -import org.whispersystems.signalservice.api.storage.StorageRecordProtoUtil.defaultAccountRecord import org.whispersystems.signalservice.api.subscriptions.SubscriberId import org.whispersystems.signalservice.api.util.UuidUtil import java.util.Currency @@ -68,16 +67,18 @@ object AccountDataProcessor { hasSeenGroupStoryEducationSheet = signalStore.storyValues.userHasSeenGroupStoryEducationSheet, hasCompletedUsernameOnboarding = signalStore.uiHintValues.hasCompletedUsernameOnboarding() ), - donationSubscriberData = AccountData.SubscriberData( - subscriberId = donationSubscriber?.subscriberId?.bytes?.toByteString() ?: defaultAccountRecord.subscriberId, - currencyCode = donationSubscriber?.currency?.currencyCode ?: defaultAccountRecord.subscriberCurrencyCode, - manuallyCancelled = signalStore.inAppPaymentValues.isDonationSubscriptionManuallyCancelled() - ) + donationSubscriberData = donationSubscriber?.toSubscriberData(signalStore.inAppPaymentValues.isDonationSubscriptionManuallyCancelled()) ) ) ) } + private fun InAppPaymentSubscriberRecord.toSubscriberData(manuallyCancelled: Boolean): AccountData.SubscriberData { + val subscriberId = subscriberId.bytes.toByteString() + val currencyCode = currency.currencyCode + return AccountData.SubscriberData(subscriberId = subscriberId, currencyCode = currencyCode, manuallyCancelled = manuallyCancelled) + } + fun import(accountData: AccountData, selfId: RecipientId) { SignalDatabase.recipients.restoreSelfFromBackup(accountData, selfId)