From 77d311643184ae64fcab9595347c8a58a0ae63f2 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Thu, 27 Jun 2024 09:57:16 -0300 Subject: [PATCH] Rename DonationValues to InAppPaymentValues. --- .../securesms/backup/v2/BackupTest.kt | 2 +- .../SubscriberIdMigrationJobTest.kt | 8 ++-- .../securesms/backup/v2/BackupRepository.kt | 2 +- .../v2/processor/AccountDataProcessor.kt | 10 ++--- .../securesms/badges/BadgeRepository.kt | 2 +- .../gifts/ExpiredGiftSheetConfiguration.kt | 2 +- .../badges/gifts/flow/GiftFlowViewModel.kt | 4 +- .../received/ViewReceivedGiftViewModel.kt | 2 +- ...edOneTimeBadgeBottomSheetDialogFragment.kt | 2 +- ...nationCanceledBottomSheetDialogFragment.kt | 2 +- .../MonthlyDonationCanceledViewModel.kt | 4 +- .../self/overview/BadgesOverviewViewModel.kt | 2 +- .../settings/app/AppSettingsViewModel.kt | 6 +-- ...ingOneTimeDonationConfigurationFragment.kt | 2 +- .../app/internal/InternalSettingsFragment.kt | 8 ++-- .../app/internal/InternalSettingsViewModel.kt | 4 +- ...alTerminalDonationConfigurationFragment.kt | 2 +- ...nternalDonorErrorConfigurationViewModel.kt | 26 ++++++------- .../app/subscription/InAppDonations.kt | 2 +- .../subscription/InAppPaymentsRepository.kt | 16 ++++---- .../RecurringInAppPaymentRepository.kt | 18 ++++----- .../completed/TerminalDonationDelegate.kt | 6 +-- .../completed/TerminalDonationViewModel.kt | 2 +- .../currency/SetCurrencyViewModel.kt | 6 +-- .../donate/DonateToSignalState.kt | 4 +- .../donate/DonateToSignalViewModel.kt | 10 ++--- .../gateway/GatewaySelectorViewModel.kt | 2 +- .../PayPalPaymentInProgressViewModel.kt | 2 +- .../manage/DonationRedemptionJobWatcher.kt | 2 +- .../manage/ManageDonationsFragment.kt | 10 ++--- .../manage/ManageDonationsViewModel.kt | 2 +- ...ForYourSupportBottomSheetDialogFragment.kt | 2 +- .../ConversationListFragment.java | 26 ++++++------- .../database/InAppPaymentSubscriberTable.kt | 4 +- .../jobs/BoostReceiptRequestResponseJob.java | 8 ++-- .../jobs/DonationReceiptRedemptionJob.java | 22 +++++------ .../jobs/ExternalLaunchDonationJob.kt | 16 ++++---- .../jobs/InAppPaymentAuthCheckJob.kt | 4 +- .../jobs/InAppPaymentKeepAliveJob.kt | 6 +-- .../jobs/InAppPaymentRecurringContextJob.kt | 2 +- .../jobs/InAppPaymentRedemptionJob.kt | 4 +- .../securesms/jobs/RefreshOwnProfileJob.java | 16 ++++---- .../jobs/SubscriptionKeepAliveJob.java | 24 ++++++------ ...SubscriptionReceiptRequestResponseJob.java | 38 +++++++++---------- ...nationsValues.kt => InAppPaymentValues.kt} | 6 +-- .../securesms/keyvalue/SignalStore.kt | 12 +++--- .../securesms/logsubmit/LogSectionBadges.java | 34 ++++++++--------- .../migrations/SubscriberIdMigrationJob.kt | 6 +-- .../securesms/storage/StorageSyncHelper.java | 6 +-- 49 files changed, 204 insertions(+), 204 deletions(-) rename app/src/main/java/org/thoughtcrime/securesms/keyvalue/{DonationsValues.kt => InAppPaymentValues.kt} (98%) diff --git a/app/src/androidTest/java/org/thoughtcrime/securesms/backup/v2/BackupTest.kt b/app/src/androidTest/java/org/thoughtcrime/securesms/backup/v2/BackupTest.kt index 977cb38e94..704cd2bac0 100644 --- a/app/src/androidTest/java/org/thoughtcrime/securesms/backup/v2/BackupTest.kt +++ b/app/src/androidTest/java/org/thoughtcrime/securesms/backup/v2/BackupTest.kt @@ -262,7 +262,7 @@ class BackupTest { SignalDatabase.recipients.setProfileAvatar(self.id, "https://example.com/") InAppPaymentsRepository.setSubscriber(InAppPaymentSubscriberRecord(SubscriberId.generate(), Currency.getInstance("USD"), InAppPaymentSubscriberRecord.Type.DONATION, false, InAppPaymentData.PaymentMethodType.UNKNOWN)) - SignalStore.donations.setDisplayBadgesOnProfile(false) + SignalStore.inAppPayments.setDisplayBadgesOnProfile(false) SignalStore.phoneNumberPrivacy.phoneNumberDiscoverabilityMode = PhoneNumberPrivacyValues.PhoneNumberDiscoverabilityMode.NOT_DISCOVERABLE SignalStore.phoneNumberPrivacy.phoneNumberSharingMode = PhoneNumberPrivacyValues.PhoneNumberSharingMode.NOBODY diff --git a/app/src/androidTest/java/org/thoughtcrime/securesms/migrations/SubscriberIdMigrationJobTest.kt b/app/src/androidTest/java/org/thoughtcrime/securesms/migrations/SubscriberIdMigrationJobTest.kt index 938996b9c4..3eed9ac9d7 100644 --- a/app/src/androidTest/java/org/thoughtcrime/securesms/migrations/SubscriberIdMigrationJobTest.kt +++ b/app/src/androidTest/java/org/thoughtcrime/securesms/migrations/SubscriberIdMigrationJobTest.kt @@ -36,10 +36,10 @@ class SubscriberIdMigrationJobTest { @Test fun givenUSDSubscriber_whenIRunSubscriberIdMigrationJob_thenIExpectASingleEntry() { val subscriberId = SubscriberId.generate() - SignalStore.donations.setSubscriberCurrency(Currency.getInstance("USD"), InAppPaymentSubscriberRecord.Type.DONATION) - SignalStore.donations.setSubscriber("USD", subscriberId) - SignalStore.donations.setSubscriptionPaymentSourceType(PaymentSourceType.PayPal) - SignalStore.donations.shouldCancelSubscriptionBeforeNextSubscribeAttempt = true + SignalStore.inAppPayments.setSubscriberCurrency(Currency.getInstance("USD"), InAppPaymentSubscriberRecord.Type.DONATION) + SignalStore.inAppPayments.setSubscriber("USD", subscriberId) + SignalStore.inAppPayments.setSubscriptionPaymentSourceType(PaymentSourceType.PayPal) + SignalStore.inAppPayments.shouldCancelSubscriptionBeforeNextSubscribeAttempt = true testSubject.run() diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt index d5e2a02899..590dde5376 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt @@ -782,7 +782,7 @@ object BackupRepository { } suspend fun getBackupsType(tier: MessageBackupTier): MessageBackupsType { - val backupCurrency = SignalStore.donations.getSubscriptionCurrency(InAppPaymentSubscriberRecord.Type.BACKUP) + val backupCurrency = SignalStore.inAppPayments.getSubscriptionCurrency(InAppPaymentSubscriberRecord.Type.BACKUP) return when (tier) { MessageBackupTier.FREE -> getFreeType(backupCurrency) MessageBackupTier.PAID -> getPaidType(backupCurrency) 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 cd2cdf1dcb..8821d5d9fb 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 @@ -38,7 +38,7 @@ object AccountDataProcessor { val selfId = db.recipientTable.getByAci(signalStore.accountValues.aci!!).get() val selfRecord = db.recipientTable.getRecordForSync(selfId)!! - val donationCurrency = signalStore.donationsValues.getSubscriptionCurrency(InAppPaymentSubscriberRecord.Type.DONATION) + val donationCurrency = signalStore.inAppPaymentValues.getSubscriptionCurrency(InAppPaymentSubscriberRecord.Type.DONATION) val donationSubscriber = db.inAppPaymentSubscriberTable.getByCurrencyCode(donationCurrency.currencyCode, InAppPaymentSubscriberRecord.Type.DONATION) emitter.emit( @@ -64,14 +64,14 @@ object AccountDataProcessor { hasViewedOnboardingStory = signalStore.storyValues.userHasViewedOnboardingStory, hasSetMyStoriesPrivacy = signalStore.storyValues.userHasBeenNotifiedAboutStories, keepMutedChatsArchived = signalStore.settingsValues.shouldKeepMutedChatsArchived(), - displayBadgesOnProfile = signalStore.donationsValues.getDisplayBadgesOnProfile(), + displayBadgesOnProfile = signalStore.inAppPaymentValues.getDisplayBadgesOnProfile(), 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.donationsValues.isDonationSubscriptionManuallyCancelled() + manuallyCancelled = signalStore.inAppPaymentValues.isDonationSubscriptionManuallyCancelled() ) ) ) @@ -96,7 +96,7 @@ object AccountDataProcessor { SignalStore.settings.isPreferSystemContactPhotos = settings.preferContactAvatars SignalStore.settings.universalExpireTimer = settings.universalExpireTimer SignalStore.emoji.reactions = settings.preferredReactionEmoji - SignalStore.donations.setDisplayBadgesOnProfile(settings.displayBadgesOnProfile) + SignalStore.inAppPayments.setDisplayBadgesOnProfile(settings.displayBadgesOnProfile) SignalStore.settings.setKeepMutedChatsArchived(settings.keepMutedChatsArchived) SignalStore.story.userHasBeenNotifiedAboutStories = settings.hasSetMyStoriesPrivacy SignalStore.story.userHasViewedOnboardingStory = settings.hasViewedOnboardingStory @@ -121,7 +121,7 @@ object AccountDataProcessor { } if (accountData.donationSubscriberData.manuallyCancelled) { - SignalStore.donations.updateLocalStateForManualCancellation(InAppPaymentSubscriberRecord.Type.DONATION) + SignalStore.inAppPayments.updateLocalStateForManualCancellation(InAppPaymentSubscriberRecord.Type.DONATION) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/BadgeRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/BadgeRepository.kt index 6ce9b67f95..82395390eb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/BadgeRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/BadgeRepository.kt @@ -45,7 +45,7 @@ class BadgeRepository(context: Context) { Log.d(TAG, "[setVisibilityForAllBadgesSync] Uploading profile...", true) ProfileUtil.uploadProfileWithBadges(context, badges) - SignalStore.donations.setDisplayBadgesOnProfile(displayBadgesOnProfile) + SignalStore.inAppPayments.setDisplayBadgesOnProfile(displayBadgesOnProfile) recipientTable.markNeedsSync(Recipient.self().id) Log.d(TAG, "[setVisibilityForAllBadgesSync] Requesting data change sync...", true) diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/ExpiredGiftSheetConfiguration.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/ExpiredGiftSheetConfiguration.kt index 33606e8d90..dbfbf09e85 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/ExpiredGiftSheetConfiguration.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/ExpiredGiftSheetConfiguration.kt @@ -43,7 +43,7 @@ object ExpiredGiftSheetConfiguration { ) ) - if (SignalStore.donations.isLikelyASustainer()) { + if (SignalStore.inAppPayments.isLikelyASustainer()) { primaryButton( text = DSLSettingsText.from( stringId = android.R.string.ok diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftFlowViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftFlowViewModel.kt index efda35bbb2..19e1aebb1e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftFlowViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftFlowViewModel.kt @@ -33,7 +33,7 @@ class GiftFlowViewModel( private val store = RxStore( GiftFlowState( - currency = SignalStore.donations.getOneTimeCurrency() + currency = SignalStore.inAppPayments.getOneTimeCurrency() ) ) private val disposables = CompositeDisposable() @@ -66,7 +66,7 @@ class GiftFlowViewModel( fun refresh() { disposables.clear() - disposables += SignalStore.donations.observableOneTimeCurrency.subscribe { currency -> + disposables += SignalStore.inAppPayments.observableOneTimeCurrency.subscribe { currency -> store.update { it.copy( currency = currency diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/received/ViewReceivedGiftViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/received/ViewReceivedGiftViewModel.kt index f11a3a0832..456f796a80 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/received/ViewReceivedGiftViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/received/ViewReceivedGiftViewModel.kt @@ -59,7 +59,7 @@ class ViewReceivedGiftViewModel( .subscribe { badge -> val otherBadges = Recipient.self().badges.filterNot { it.id == badge.id } val hasOtherBadges = otherBadges.isNotEmpty() - val displayingBadges = SignalStore.donations.getDisplayBadgesOnProfile() + val displayingBadges = SignalStore.inAppPayments.getDisplayBadgesOnProfile() val displayingOtherBadges = hasOtherBadges && displayingBadges store.update { diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/ExpiredOneTimeBadgeBottomSheetDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/ExpiredOneTimeBadgeBottomSheetDialogFragment.kt index 26610d15ee..490d578a9f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/ExpiredOneTimeBadgeBottomSheetDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/ExpiredOneTimeBadgeBottomSheetDialogFragment.kt @@ -32,7 +32,7 @@ class ExpiredOneTimeBadgeBottomSheetDialogFragment : DSLSettingsBottomSheetFragm private fun getConfiguration(): DSLConfiguration { val args = ExpiredOneTimeBadgeBottomSheetDialogFragmentArgs.fromBundle(requireArguments()) val badge: Badge = args.badge - val isLikelyASustainer = SignalStore.donations.isLikelyASustainer() + val isLikelyASustainer = SignalStore.inAppPayments.isLikelyASustainer() Log.d(TAG, "Displaying Expired Badge Fragment with bundle: ${requireArguments()}", true) diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt index 13a279b569..123ebbcafb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt @@ -96,7 +96,7 @@ class MonthlyDonationCanceledBottomSheetDialogFragment : ComposeBottomSheetDialo dismissAllowingStateLoss() }, onNotNowClicked = { - SignalStore.donations.showMonthlyDonationCanceledDialog = false + SignalStore.inAppPayments.showMonthlyDonationCanceledDialog = false dismissAllowingStateLoss() } ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledViewModel.kt index a78e5dec25..7cdec89ad2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledViewModel.kt @@ -58,8 +58,8 @@ class MonthlyDonationCanceledViewModel( private fun initializeFromSignalStore() { internalState.value = MonthlyDonationCanceledState( loadState = MonthlyDonationCanceledState.LoadState.READY, - badge = SignalStore.donations.getExpiredBadge(), - errorMessage = getErrorMessage(SignalStore.donations.getUnexpectedSubscriptionCancelationChargeFailure()) + badge = SignalStore.inAppPayments.getExpiredBadge(), + errorMessage = getErrorMessage(SignalStore.inAppPayments.getUnexpectedSubscriptionCancelationChargeFailure()) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/self/overview/BadgesOverviewViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/self/overview/BadgesOverviewViewModel.kt index b0a2be7fb3..8ac5cff0ee 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/self/overview/BadgesOverviewViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/self/overview/BadgesOverviewViewModel.kt @@ -38,7 +38,7 @@ class BadgesOverviewViewModel( state.copy( stage = if (state.stage == BadgesOverviewState.Stage.INIT) BadgesOverviewState.Stage.READY else state.stage, allUnlockedBadges = recipient.badges, - displayBadgesOnProfile = SignalStore.donations.getDisplayBadgesOnProfile(), + displayBadgesOnProfile = SignalStore.inAppPayments.getDisplayBadgesOnProfile(), featuredBadge = recipient.featuredBadge ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsViewModel.kt index 1ca187c718..15e14cd3ea 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsViewModel.kt @@ -21,8 +21,8 @@ class AppSettingsViewModel : ViewModel() { AppSettingsState( Recipient.self(), 0, - SignalStore.donations.getExpiredGiftBadge() != null, - SignalStore.donations.isLikelyASustainer() || InAppDonations.hasAtLeastOnePaymentMethodAvailable(), + SignalStore.inAppPayments.getExpiredGiftBadge() != null, + SignalStore.inAppPayments.isLikelyASustainer() || InAppDonations.hasAtLeastOnePaymentMethodAvailable(), TextSecurePreferences.isUnauthorizedReceived(AppDependencies.application) || !SignalStore.account.isRegistered, SignalStore.misc.isClientDeprecated ) @@ -62,6 +62,6 @@ class AppSettingsViewModel : ViewModel() { } fun refreshExpiredGiftBadge() { - store.update { it.copy(hasExpiredGiftBadge = SignalStore.donations.getExpiredGiftBadge() != null) } + store.update { it.copy(hasExpiredGiftBadge = SignalStore.inAppPayments.getExpiredGiftBadge() != null) } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt index 9bd0167bc7..5da2a6fb7c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt @@ -69,7 +69,7 @@ class InternalPendingOneTimeDonationConfigurationFragment : ComposeFragment() { viewModel.state.value = viewModel.state.value.copy(error = viewModel.state.value.error!!.copy(code = it)) }, onSave = { - SignalStore.donations.setPendingOneTimeDonation(viewModel.state.value) + SignalStore.inAppPayments.setPendingOneTimeDonation(viewModel.state.value) findNavController().popBackStack() } ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsFragment.kt index 86faee61e5..6332b8181b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsFragment.kt @@ -557,9 +557,9 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter clickPref( title = DSLSettingsText.from("Clear keep-alive timestamps"), onClick = { - SignalStore.donations.subscriptionEndOfPeriodRedemptionStarted = 0L - SignalStore.donations.subscriptionEndOfPeriodConversionStarted = 0L - SignalStore.donations.setLastEndOfPeriod(0L) + SignalStore.inAppPayments.subscriptionEndOfPeriodRedemptionStarted = 0L + SignalStore.inAppPayments.subscriptionEndOfPeriodConversionStarted = 0L + SignalStore.inAppPayments.setLastEndOfPeriod(0L) Toast.makeText(context, "Cleared", Toast.LENGTH_SHORT).show() } ) @@ -570,7 +570,7 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter clickPref( title = DSLSettingsText.from("Clear pending one-time donation."), onClick = { - SignalStore.donations.setPendingOneTimeDonation(null) + SignalStore.inAppPayments.setPendingOneTimeDonation(null) } ) } else { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt index 1eb37ba8f3..872158c926 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt @@ -23,7 +23,7 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito store.update { it.copy(emojiVersion = version) } } - val pendingOneTimeDonation: Observable = SignalStore.donations.observablePendingOneTimeDonation + val pendingOneTimeDonation: Observable = SignalStore.inAppPayments.observablePendingOneTimeDonation .distinctUntilChanged() .map { it.isPresent } @@ -159,7 +159,7 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito canClearOnboardingState = SignalStore.story.hasDownloadedOnboardingStory && Stories.isFeatureEnabled(), pnpInitialized = SignalStore.misc.hasPniInitializedDevices, useConversationItemV2ForMedia = SignalStore.internal.useConversationItemV2Media(), - hasPendingOneTimeDonation = SignalStore.donations.getPendingOneTimeDonation() != null + hasPendingOneTimeDonation = SignalStore.inAppPayments.getPendingOneTimeDonation() != null ) fun onClearOnboardingState() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalTerminalDonationConfigurationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalTerminalDonationConfigurationFragment.kt index cb7c908d76..30680c563b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalTerminalDonationConfigurationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalTerminalDonationConfigurationFragment.kt @@ -38,7 +38,7 @@ class InternalTerminalDonationConfigurationFragment : ComposeFragment() { override fun FragmentContent() { InternalTerminalDonationConfigurationContent( onAddClick = { - SignalStore.donations.appendToTerminalDonationQueue(it) + SignalStore.inAppPayments.appendToTerminalDonationQueue(it) findNavController().popBackStack() } ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationViewModel.kt index 877ca74097..71e4b1729b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationViewModel.kt @@ -117,11 +117,11 @@ class InternalDonorErrorConfigurationViewModel : ViewModel() { fun clearErrorState(): Completable { return Completable.fromAction { synchronized(InAppPaymentSubscriberRecord.Type.DONATION) { - SignalStore.donations.setExpiredBadge(null) - SignalStore.donations.setExpiredGiftBadge(null) - SignalStore.donations.unexpectedSubscriptionCancelationReason = null - SignalStore.donations.unexpectedSubscriptionCancelationTimestamp = 0L - SignalStore.donations.setUnexpectedSubscriptionCancelationChargeFailure(null) + SignalStore.inAppPayments.setExpiredBadge(null) + SignalStore.inAppPayments.setExpiredGiftBadge(null) + SignalStore.inAppPayments.unexpectedSubscriptionCancelationReason = null + SignalStore.inAppPayments.unexpectedSubscriptionCancelationTimestamp = 0L + SignalStore.inAppPayments.setUnexpectedSubscriptionCancelationChargeFailure(null) } store.update { @@ -135,24 +135,24 @@ class InternalDonorErrorConfigurationViewModel : ViewModel() { } private fun handleBoostExpiration(state: InternalDonorErrorConfigurationState) { - SignalStore.donations.setExpiredBadge(state.selectedBadge) + SignalStore.inAppPayments.setExpiredBadge(state.selectedBadge) } private fun handleGiftExpiration(state: InternalDonorErrorConfigurationState) { - SignalStore.donations.setExpiredGiftBadge(state.selectedBadge) + SignalStore.inAppPayments.setExpiredGiftBadge(state.selectedBadge) } private fun handleSubscriptionExpiration(state: InternalDonorErrorConfigurationState) { - SignalStore.donations.updateLocalStateForLocalSubscribe(InAppPaymentSubscriberRecord.Type.DONATION) - SignalStore.donations.setExpiredBadge(state.selectedBadge) + SignalStore.inAppPayments.updateLocalStateForLocalSubscribe(InAppPaymentSubscriberRecord.Type.DONATION) + SignalStore.inAppPayments.setExpiredBadge(state.selectedBadge) handleSubscriptionPaymentFailure(state) } private fun handleSubscriptionPaymentFailure(state: InternalDonorErrorConfigurationState) { - SignalStore.donations.unexpectedSubscriptionCancelationReason = state.selectedUnexpectedSubscriptionCancellation?.status - SignalStore.donations.unexpectedSubscriptionCancelationTimestamp = System.currentTimeMillis() - SignalStore.donations.showMonthlyDonationCanceledDialog = true - SignalStore.donations.setUnexpectedSubscriptionCancelationChargeFailure( + SignalStore.inAppPayments.unexpectedSubscriptionCancelationReason = state.selectedUnexpectedSubscriptionCancellation?.status + SignalStore.inAppPayments.unexpectedSubscriptionCancelationTimestamp = System.currentTimeMillis() + SignalStore.inAppPayments.showMonthlyDonationCanceledDialog = true + SignalStore.inAppPayments.setUnexpectedSubscriptionCancelationChargeFailure( state.selectedStripeDeclineCode?.let { ActiveSubscription.ChargeFailure( it.code, diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/InAppDonations.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/InAppDonations.kt index 746107db73..c1ce4e8d31 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/InAppDonations.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/InAppDonations.kt @@ -62,7 +62,7 @@ object InAppDonations { * Whether the user is using a device that supports GooglePay, based off Wallet API and phone number. */ fun isGooglePayAvailable(): Boolean { - return SignalStore.donations.isGooglePayReady && !LocaleRemoteConfig.isGooglePayDisabled() + return SignalStore.inAppPayments.isGooglePayReady && !LocaleRemoteConfig.isGooglePayDisabled() } /** diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/InAppPaymentsRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/InAppPaymentsRepository.kt index 1ff0b94727..3805ad819c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/InAppPaymentsRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/InAppPaymentsRepository.kt @@ -313,7 +313,7 @@ object InAppPaymentsRepository { return if (paymentMethodType != InAppPaymentData.PaymentMethodType.UNKNOWN) { paymentMethodType } else if (subscriberType == InAppPaymentSubscriberRecord.Type.DONATION) { - SignalStore.donations.getSubscriptionPaymentSourceType().toPaymentMethodType() + SignalStore.inAppPayments.getSubscriptionPaymentSourceType().toPaymentMethodType() } else { return InAppPaymentData.PaymentMethodType.UNKNOWN } @@ -325,9 +325,9 @@ object InAppPaymentsRepository { @JvmStatic fun isUserManuallyCancelled(subscriberType: InAppPaymentSubscriberRecord.Type): Boolean { return if (subscriberType == InAppPaymentSubscriberRecord.Type.DONATION) { - SignalStore.donations.isDonationSubscriptionManuallyCancelled() + SignalStore.inAppPayments.isDonationSubscriptionManuallyCancelled() } else { - SignalStore.donations.isBackupSubscriptionManuallyCancelled() + SignalStore.inAppPayments.isBackupSubscriptionManuallyCancelled() } } @@ -341,7 +341,7 @@ object InAppPaymentsRepository { @JvmStatic fun getFallbackLastEndOfPeriod(subscriberType: InAppPaymentSubscriberRecord.Type): Duration { return if (subscriberType == InAppPaymentSubscriberRecord.Type.DONATION) { - SignalStore.donations.getLastEndOfPeriod().seconds + SignalStore.inAppPayments.getLastEndOfPeriod().seconds } else { 0.seconds } @@ -361,7 +361,7 @@ object InAppPaymentsRepository { @WorkerThread fun setShouldCancelSubscriptionBeforeNextSubscribeAttempt(subscriberType: InAppPaymentSubscriberRecord.Type, subscriberId: SubscriberId?, shouldCancel: Boolean) { if (subscriberType == InAppPaymentSubscriberRecord.Type.DONATION) { - SignalStore.donations.shouldCancelSubscriptionBeforeNextSubscribeAttempt = shouldCancel + SignalStore.inAppPayments.shouldCancelSubscriptionBeforeNextSubscribeAttempt = shouldCancel } if (subscriberId == null) { @@ -384,7 +384,7 @@ object InAppPaymentsRepository { val latestSubscriber = getSubscriber(subscriberType) return latestSubscriber?.requiresCancel ?: if (subscriberType == InAppPaymentSubscriberRecord.Type.DONATION) { - SignalStore.donations.shouldCancelSubscriptionBeforeNextSubscribeAttempt + SignalStore.inAppPayments.shouldCancelSubscriptionBeforeNextSubscribeAttempt } else { false } @@ -401,7 +401,7 @@ object InAppPaymentsRepository { val subscriber = SignalDatabase.inAppPaymentSubscribers.getByCurrencyCode(currency.currencyCode, type) return if (subscriber == null && type == InAppPaymentSubscriberRecord.Type.DONATION) { - SignalStore.donations.getSubscriber(currency) + SignalStore.inAppPayments.getSubscriber(currency) } else { subscriber } @@ -413,7 +413,7 @@ object InAppPaymentsRepository { @JvmStatic @WorkerThread fun getSubscriber(type: InAppPaymentSubscriberRecord.Type): InAppPaymentSubscriberRecord? { - val currency = SignalStore.donations.getSubscriptionCurrency(type) + val currency = SignalStore.inAppPayments.getSubscriptionCurrency(type) Log.d(TAG, "Attempting to retrieve subscriber of type $type for ${currency.currencyCode}") return getSubscriber(currency, type) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/RecurringInAppPaymentRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/RecurringInAppPaymentRepository.kt index caf2f6269d..42f7d88310 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/RecurringInAppPaymentRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/RecurringInAppPaymentRepository.kt @@ -52,7 +52,7 @@ object RecurringInAppPaymentRepository { .subscribeOn(Schedulers.io()) .flatMap(ServiceResponse::flattenResult) .doOnSuccess { activeSubscription -> - if (activeSubscription.isActive && activeSubscription.activeSubscription.endOfCurrentPeriod > SignalStore.donations.getLastEndOfPeriod()) { + if (activeSubscription.isActive && activeSubscription.activeSubscription.endOfCurrentPeriod > SignalStore.inAppPayments.getLastEndOfPeriod()) { InAppPaymentKeepAliveJob.enqueueAndTrackTime(System.currentTimeMillis().milliseconds) } } @@ -121,7 +121,7 @@ object RecurringInAppPaymentRepository { InAppPaymentsRepository.setSubscriber( InAppPaymentSubscriberRecord( subscriberId = subscriberId, - currency = SignalStore.donations.getSubscriptionCurrency(subscriberType), + currency = SignalStore.inAppPayments.getSubscriptionCurrency(subscriberType), type = subscriberType, requiresCancel = false, paymentMethodType = InAppPaymentData.PaymentMethodType.UNKNOWN @@ -141,7 +141,7 @@ object RecurringInAppPaymentRepository { serviceResponse.resultOrThrow Log.d(TAG, "Cancelled active subscription.", true) - SignalStore.donations.updateLocalStateForManualCancellation(subscriberType) + SignalStore.inAppPayments.updateLocalStateForManualCancellation(subscriberType) MultiDeviceSubscriptionSyncRequestJob.enqueue() InAppPaymentsRepository.scheduleSyncForAccountRecordChange() } @@ -157,7 +157,7 @@ object RecurringInAppPaymentRepository { return Single.fromCallable { InAppPaymentsRepository.getShouldCancelSubscriptionBeforeNextSubscribeAttempt(subscriberType) }.flatMapCompletable { if (it) { cancelActiveSubscription(subscriberType).doOnComplete { - SignalStore.donations.updateLocalStateForManualCancellation(subscriberType) + SignalStore.inAppPayments.updateLocalStateForManualCancellation(subscriberType) MultiDeviceSubscriptionSyncRequestJob.enqueue() } } else { @@ -212,14 +212,14 @@ object RecurringInAppPaymentRepository { .flatMapCompletable { if (it.status == 200 || it.status == 204) { Log.d(TAG, "Successfully set user subscription to level $subscriptionLevel with response code ${it.status}", true) - SignalStore.donations.updateLocalStateForLocalSubscribe(subscriberType) + SignalStore.inAppPayments.updateLocalStateForLocalSubscribe(subscriberType) syncAccountRecord().subscribe() LevelUpdate.updateProcessingState(false) Completable.complete() } else { if (it.applicationError.isPresent) { Log.w(TAG, "Failed to set user subscription to level $subscriptionLevel with response code ${it.status}", it.applicationError.get(), true) - SignalStore.donations.clearLevelOperations() + SignalStore.inAppPayments.clearLevelOperations() } else { Log.w(TAG, "Failed to set user subscription to level $subscriptionLevel", it.executionError.orElse(null), true) } @@ -256,14 +256,14 @@ object RecurringInAppPaymentRepository { fun getOrCreateLevelUpdateOperation(tag: String, subscriptionLevel: String): LevelUpdateOperation { Log.d(tag, "Retrieving level update operation for $subscriptionLevel") - val levelUpdateOperation = SignalStore.donations.getLevelOperation(subscriptionLevel) + val levelUpdateOperation = SignalStore.inAppPayments.getLevelOperation(subscriptionLevel) return if (levelUpdateOperation == null) { val newOperation = LevelUpdateOperation( idempotencyKey = IdempotencyKey.generate(), level = subscriptionLevel ) - SignalStore.donations.setLevelOperation(newOperation) + SignalStore.inAppPayments.setLevelOperation(newOperation) LevelUpdate.updateProcessingState(true) Log.d(tag, "Created a new operation for $subscriptionLevel") newOperation @@ -281,7 +281,7 @@ object RecurringInAppPaymentRepository { private fun updateLocalSubscriptionStateAndScheduleDataSync(subscriberType: InAppPaymentSubscriberRecord.Type): Completable { return Completable.fromAction { Log.d(TAG, "Marking subscription cancelled...", true) - SignalStore.donations.updateLocalStateForManualCancellation(subscriberType) + SignalStore.inAppPayments.updateLocalStateForManualCancellation(subscriberType) MultiDeviceSubscriptionSyncRequestJob.enqueue() SignalDatabase.recipients.markNeedsSync(Recipient.self().id) StorageSyncHelper.scheduleSyncForDataChange() diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationDelegate.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationDelegate.kt index a126fcd727..a475a2b87d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationDelegate.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationDelegate.kt @@ -42,7 +42,7 @@ class TerminalDonationDelegate( private val badgeRepository = TerminalDonationRepository() override fun onResume(owner: LifecycleOwner) { - val donations = SignalStore.donations.consumeTerminalDonations() + val donations = SignalStore.inAppPayments.consumeTerminalDonations() for (donation in donations) { if (donation.isLongRunningPaymentMethod && (donation.error == null || donation.error.type != DonationErrorValue.Type.REDEMPTION)) { TerminalDonationBottomSheet.show(fragmentManager, donation) @@ -57,7 +57,7 @@ class TerminalDonationDelegate( } } - val verifiedMonthlyDonation: Stripe3DSData? = SignalStore.donations.consumeVerifiedSubscription3DSData() + val verifiedMonthlyDonation: Stripe3DSData? = SignalStore.inAppPayments.consumeVerifiedSubscription3DSData() if (verifiedMonthlyDonation != null) { DonationPendingBottomSheet().apply { arguments = DonationPendingBottomSheetArgs.Builder(verifiedMonthlyDonation.inAppPayment).build().toBundle() @@ -80,7 +80,7 @@ class TerminalDonationDelegate( DonationPendingBottomSheet().apply { arguments = DonationPendingBottomSheetArgs.Builder(payment).build().toBundle() }.show(fragmentManager, null) - } else if (payment.data.error != null && payment.data.cancellation != null && payment.data.cancellation.reason != InAppPaymentData.Cancellation.Reason.MANUAL && SignalStore.donations.showMonthlyDonationCanceledDialog) { + } else if (payment.data.error != null && payment.data.cancellation != null && payment.data.cancellation.reason != InAppPaymentData.Cancellation.Reason.MANUAL && SignalStore.inAppPayments.showMonthlyDonationCanceledDialog) { MonthlyDonationCanceledBottomSheetDialogFragment.show(fragmentManager) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationViewModel.kt index 70c7e01277..83a4f3dab1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationViewModel.kt @@ -46,7 +46,7 @@ class TerminalDonationViewModel( disposables += repository.getBadge(donationCompleted) .map { badge -> val hasOtherBadges = Recipient.self().badges.filterNot { it.id == badge.id }.isNotEmpty() - val isDisplayingBadges = SignalStore.donations.getDisplayBadgesOnProfile() + val isDisplayingBadges = SignalStore.inAppPayments.getDisplayBadgesOnProfile() val toggleType = when { hasOtherBadges && isDisplayingBadges -> ToggleType.MAKE_FEATURED_BADGE diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel.kt index ccbfa23ad1..c9143115eb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel.kt @@ -24,9 +24,9 @@ class SetCurrencyViewModel( private val store = Store( SetCurrencyState( selectedCurrencyCode = if (inAppPaymentType.recurring) { - SignalStore.donations.getSubscriptionCurrency(inAppPaymentType.requireSubscriberType()).currencyCode + SignalStore.inAppPayments.getSubscriptionCurrency(inAppPaymentType.requireSubscriberType()).currencyCode } else { - SignalStore.donations.getOneTimeCurrency().currencyCode + SignalStore.inAppPayments.getOneTimeCurrency().currencyCode }, currencies = supportedCurrencyCodes .map(Currency::getInstance) @@ -40,7 +40,7 @@ class SetCurrencyViewModel( store.update { it.copy(selectedCurrencyCode = selectedCurrencyCode) } if (!inAppPaymentType.recurring) { - SignalStore.donations.setOneTimeCurrency(Currency.getInstance(selectedCurrencyCode)) + SignalStore.inAppPayments.setOneTimeCurrency(Currency.getInstance(selectedCurrencyCode)) } else { val currency = Currency.getInstance(selectedCurrencyCode) val subscriber = InAppPaymentsRepository.getSubscriber(currency, inAppPaymentType.requireSubscriberType()) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalState.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalState.kt index 159f908f14..ebc49aee02 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalState.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalState.kt @@ -91,7 +91,7 @@ data class DonateToSignalState( data class OneTimeDonationState( val badge: Badge? = null, - val selectedCurrency: Currency = SignalStore.donations.getOneTimeCurrency(), + val selectedCurrency: Currency = SignalStore.inAppPayments.getOneTimeCurrency(), val boosts: List = emptyList(), val selectedBoost: Boost? = null, val customAmount: FiatMoney = FiatMoney(BigDecimal.ZERO, selectedCurrency), @@ -114,7 +114,7 @@ data class DonateToSignalState( } data class MonthlyDonationState( - val selectedCurrency: Currency = SignalStore.donations.getSubscriptionCurrency(InAppPaymentSubscriberRecord.Type.DONATION), + val selectedCurrency: Currency = SignalStore.inAppPayments.getSubscriptionCurrency(InAppPaymentSubscriberRecord.Type.DONATION), val subscriptions: List = emptyList(), private val _activeSubscription: ActiveSubscription? = null, val selectedSubscription: Subscription? = null, diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalViewModel.kt index 6581fc5eee..bb74b6aeb0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalViewModel.kt @@ -248,7 +248,7 @@ class DonateToSignalViewModel( } }.distinctUntilChanged() - val oneTimeDonationFromStore: Observable> = SignalStore.donations.observablePendingOneTimeDonation + val oneTimeDonationFromStore: Observable> = SignalStore.inAppPayments.observablePendingOneTimeDonation .map { pending -> pending.filter { !it.isExpired } } .distinctUntilChanged() @@ -283,13 +283,13 @@ class DonateToSignalViewModel( ) val boosts: Observable>> = oneTimeInAppPaymentRepository.getBoosts().toObservable() - val oneTimeCurrency: Observable = SignalStore.donations.observableOneTimeCurrency + val oneTimeCurrency: Observable = SignalStore.inAppPayments.observableOneTimeCurrency oneTimeDonationDisposables += Observable.combineLatest(boosts, oneTimeCurrency) { boostMap, currency -> val boostList = if (currency in boostMap) { boostMap[currency]!! } else { - SignalStore.donations.setOneTimeCurrency(PlatformCurrencyUtil.USD) + SignalStore.inAppPayments.setOneTimeCurrency(PlatformCurrencyUtil.USD) listOf() } @@ -387,7 +387,7 @@ class DonateToSignalViewModel( onSuccess = { subscriptions -> if (subscriptions.isNotEmpty()) { val priceCurrencies = subscriptions[0].prices.map { it.currency } - val selectedCurrency = SignalStore.donations.getSubscriptionCurrency(InAppPaymentSubscriberRecord.Type.DONATION) + val selectedCurrency = SignalStore.inAppPayments.getSubscriptionCurrency(InAppPaymentSubscriberRecord.Type.DONATION) if (selectedCurrency !in priceCurrencies) { Log.w(TAG, "Unsupported currency selection. Defaulting to USD. $selectedCurrency isn't supported.") @@ -403,7 +403,7 @@ class DonateToSignalViewModel( } private fun monitorSubscriptionCurrency() { - monthlyDonationDisposables += SignalStore.donations.observableRecurringDonationCurrency.subscribe { + monthlyDonationDisposables += SignalStore.inAppPayments.observableRecurringDonationCurrency.subscribe { store.update { state -> state.copy(monthlyDonationState = state.monthlyDonationState.copy(selectedCurrency = it)) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewaySelectorViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewaySelectorViewModel.kt index 87fa723f21..82d756d0fe 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewaySelectorViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewaySelectorViewModel.kt @@ -42,7 +42,7 @@ class GatewaySelectorViewModel( val gatewayConfiguration = gatewaySelectorRepository.getAvailableGatewayConfiguration(currencyCode = args.inAppPayment.data.amount!!.currencyCode) disposables += Single.zip(isGooglePayAvailable, gatewayConfiguration, ::Pair).subscribeBy { (googlePayAvailable, gatewayConfiguration) -> - SignalStore.donations.isGooglePayReady = googlePayAvailable + SignalStore.inAppPayments.isGooglePayReady = googlePayAvailable store.update { it.copy( loading = false, diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/paypal/PayPalPaymentInProgressViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/paypal/PayPalPaymentInProgressViewModel.kt index ac432b4ea2..84fc1185d4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/paypal/PayPalPaymentInProgressViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/paypal/PayPalPaymentInProgressViewModel.kt @@ -106,7 +106,7 @@ class PayPalPaymentInProgressViewModel( disposables += RecurringInAppPaymentRepository.cancelActiveSubscription(subscriberType).subscribeBy( onComplete = { Log.d(TAG, "Cancellation succeeded", true) - SignalStore.donations.updateLocalStateForManualCancellation(subscriberType) + SignalStore.inAppPayments.updateLocalStateForManualCancellation(subscriberType) MultiDeviceSubscriptionSyncRequestJob.enqueue() RecurringInAppPaymentRepository.syncAccountRecord().subscribe() store.update { DonationProcessorStage.COMPLETE } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/DonationRedemptionJobWatcher.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/DonationRedemptionJobWatcher.kt index be230296ec..9a59c4d3ad 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/DonationRedemptionJobWatcher.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/DonationRedemptionJobWatcher.kt @@ -82,7 +82,7 @@ object DonationRedemptionJobWatcher { val jobSpec: JobSpec? = externalLaunchJobSpec ?: redemptionJobSpec ?: receiptJobSpec - return if (redemptionType == RedemptionType.SUBSCRIPTION && jobSpec == null && SignalStore.donations.getSubscriptionRedemptionFailed()) { + return if (redemptionType == RedemptionType.SUBSCRIPTION && jobSpec == null && SignalStore.inAppPayments.getSubscriptionRedemptionFailed()) { DonationRedemptionJobStatus.FailedSubscription } else { jobSpec?.toDonationRedemptionStatus(redemptionType) ?: DonationRedemptionJobStatus.None diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt index 1b1b85953c..b0028539d2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt @@ -83,9 +83,9 @@ class ManageDonationsFragment : BadgePreview.register(adapter) NetworkFailure.register(adapter) - val expiredGiftBadge = SignalStore.donations.getExpiredGiftBadge() + val expiredGiftBadge = SignalStore.inAppPayments.getExpiredGiftBadge() if (expiredGiftBadge != null) { - SignalStore.donations.setExpiredGiftBadge(null) + SignalStore.inAppPayments.setExpiredGiftBadge(null) ExpiredGiftSheet.show(childFragmentManager, expiredGiftBadge) } @@ -227,7 +227,7 @@ class ManageDonationsFragment : } private fun DSLConfiguration.presentNetworkFailureSettings(state: ManageDonationsState, hasReceipts: Boolean) { - if (SignalStore.donations.isLikelyASustainer()) { + if (SignalStore.inAppPayments.isLikelyASustainer()) { presentSubscriptionSettingsWithNetworkError(state) } else { presentNotADonorSettings(hasReceipts) @@ -409,7 +409,7 @@ class ManageDonationsFragment : startActivity(AppSettingsActivity.help(requireContext(), HelpFragment.DONATION_INDEX)) } .setOnDismissListener { - SignalStore.donations.setPendingOneTimeDonation(null) + SignalStore.inAppPayments.setPendingOneTimeDonation(null) } .show() } @@ -429,7 +429,7 @@ class ManageDonationsFragment : } .setPositiveButton(android.R.string.ok, null) .setOnDismissListener { - SignalStore.donations.setPendingOneTimeDonation(null) + SignalStore.inAppPayments.setPendingOneTimeDonation(null) } .show() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt index 4299945d04..41e8e5d8bb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt @@ -94,7 +94,7 @@ class ManageDonationsViewModel : ViewModel() { } disposables += Observable.combineLatest( - SignalStore.donations.observablePendingOneTimeDonation, + SignalStore.inAppPayments.observablePendingOneTimeDonation, InAppPaymentsRepository.observeInAppPaymentRedemption(InAppPaymentType.ONE_TIME_DONATION) ) { pendingFromStore, pendingFromJob -> if (pendingFromStore.isPresent) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/thanks/ThanksForYourSupportBottomSheetDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/thanks/ThanksForYourSupportBottomSheetDialogFragment.kt index e637ff317a..4d735bea70 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/thanks/ThanksForYourSupportBottomSheetDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/thanks/ThanksForYourSupportBottomSheetDialogFragment.kt @@ -89,7 +89,7 @@ class ThanksForYourSupportBottomSheetDialogFragment : FixedRoundedCornerBottomSh val otherBadges = Recipient.self().badges.filterNot { it.id == args.badge.id } val hasOtherBadges = otherBadges.isNotEmpty() - val displayingBadges = SignalStore.donations.getDisplayBadgesOnProfile() + val displayingBadges = SignalStore.inAppPayments.getDisplayBadgesOnProfile() if (hasOtherBadges && displayingBadges) { switch.isChecked = false diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java index 5fda31912a..fdeb5c1f09 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -492,37 +492,37 @@ public class ConversationListFragment extends MainFragment implements ActionMode RecaptchaProofBottomSheetFragment.show(getChildFragmentManager()); } - Badge expiredBadge = SignalStore.donations().getExpiredBadge(); - String subscriptionCancellationReason = SignalStore.donations().getUnexpectedSubscriptionCancelationReason(); + Badge expiredBadge = SignalStore.inAppPayments().getExpiredBadge(); + String subscriptionCancellationReason = SignalStore.inAppPayments().getUnexpectedSubscriptionCancelationReason(); UnexpectedSubscriptionCancellation unexpectedSubscriptionCancellation = UnexpectedSubscriptionCancellation.fromStatus(subscriptionCancellationReason); - long subscriptionFailureTimestamp = SignalStore.donations().getUnexpectedSubscriptionCancelationTimestamp(); - long subscriptionFailureWatermark = SignalStore.donations().getUnexpectedSubscriptionCancelationWatermark(); + long subscriptionFailureTimestamp = SignalStore.inAppPayments().getUnexpectedSubscriptionCancelationTimestamp(); + long subscriptionFailureWatermark = SignalStore.inAppPayments().getUnexpectedSubscriptionCancelationWatermark(); boolean isWatermarkPriorToTimestamp = subscriptionFailureWatermark < subscriptionFailureTimestamp; if (unexpectedSubscriptionCancellation != null && - !SignalStore.donations().isDonationSubscriptionManuallyCancelled() && - SignalStore.donations().showCantProcessDialog() && + !SignalStore.inAppPayments().isDonationSubscriptionManuallyCancelled() && + SignalStore.inAppPayments().showCantProcessDialog() && isWatermarkPriorToTimestamp) { Log.w(TAG, "Displaying bottom sheet for unexpected cancellation: " + unexpectedSubscriptionCancellation, true); MonthlyDonationCanceledBottomSheetDialogFragment.show(getChildFragmentManager()); - SignalStore.donations().setUnexpectedSubscriptionCancelationWatermark(subscriptionFailureTimestamp); - } else if (unexpectedSubscriptionCancellation != null && SignalStore.donations().isDonationSubscriptionManuallyCancelled()) { + SignalStore.inAppPayments().setUnexpectedSubscriptionCancelationWatermark(subscriptionFailureTimestamp); + } else if (unexpectedSubscriptionCancellation != null && SignalStore.inAppPayments().isDonationSubscriptionManuallyCancelled()) { Log.w(TAG, "Unexpected cancellation detected but not displaying dialog because user manually cancelled their subscription: " + unexpectedSubscriptionCancellation, true); - SignalStore.donations().setUnexpectedSubscriptionCancelationWatermark(subscriptionFailureTimestamp); - } else if (unexpectedSubscriptionCancellation != null && !SignalStore.donations().showCantProcessDialog()) { + SignalStore.inAppPayments().setUnexpectedSubscriptionCancelationWatermark(subscriptionFailureTimestamp); + } else if (unexpectedSubscriptionCancellation != null && !SignalStore.inAppPayments().showCantProcessDialog()) { Log.w(TAG, "Unexpected cancellation detected but not displaying dialog because user has silenced it.", true); - SignalStore.donations().setUnexpectedSubscriptionCancelationWatermark(subscriptionFailureTimestamp); + SignalStore.inAppPayments().setUnexpectedSubscriptionCancelationWatermark(subscriptionFailureTimestamp); } if (expiredBadge != null && expiredBadge.isBoost()) { - SignalStore.donations().setExpiredBadge(null); + SignalStore.inAppPayments().setExpiredBadge(null); Log.w(TAG, "Displaying bottom sheet for an expired badge", true); ExpiredOneTimeBadgeBottomSheetDialogFragment.show( expiredBadge, unexpectedSubscriptionCancellation, - SignalStore.donations().getUnexpectedSubscriptionCancelationChargeFailure(), + SignalStore.inAppPayments().getUnexpectedSubscriptionCancelationChargeFailure(), getParentFragmentManager() ); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/InAppPaymentSubscriberTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/InAppPaymentSubscriberTable.kt index 633d5b4f3d..3d0e0450db 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/InAppPaymentSubscriberTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/InAppPaymentSubscriberTable.kt @@ -87,7 +87,7 @@ class InAppPaymentSubscriberTable( .values(InAppPaymentSubscriberSerializer.serialize(inAppPaymentSubscriberRecord)) .run(conflictStrategy = SQLiteDatabase.CONFLICT_REPLACE) - SignalStore.donations.setSubscriberCurrency( + SignalStore.inAppPayments.setSubscriberCurrency( inAppPaymentSubscriberRecord.currency, inAppPaymentSubscriberRecord.type ) @@ -152,7 +152,7 @@ class InAppPaymentSubscriberTable( val currencyCode = input.requireNonNullString(CURRENCY_CODE).takeIf { it.isNotEmpty() } return InAppPaymentSubscriberRecord( subscriberId = SubscriberId.deserialize(input.requireNonNullString(SUBSCRIBER_ID)), - currency = currencyCode?.let { Currency.getInstance(it) } ?: SignalStore.donations.getSubscriptionCurrency(type), + currency = currencyCode?.let { Currency.getInstance(it) } ?: SignalStore.inAppPayments.getSubscriptionCurrency(type), type = type, requiresCancel = input.requireBoolean(REQUIRES_CANCEL) || currencyCode.isNullOrBlank(), paymentMethodType = InAppPaymentData.PaymentMethodType.fromValue(input.requireInt(PAYMENT_METHOD_TYPE)) ?: InAppPaymentData.PaymentMethodType.UNKNOWN diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/BoostReceiptRequestResponseJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/BoostReceiptRequestResponseJob.java index b9ebcddfae..9ee2507b87 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/BoostReceiptRequestResponseJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/BoostReceiptRequestResponseJob.java @@ -186,7 +186,7 @@ public class BoostReceiptRequestResponseJob extends BaseJob { @Override public void onFailure() { if (terminalDonation.error != null) { - SignalStore.donations().appendToTerminalDonationQueue(terminalDonation); + SignalStore.inAppPayments().appendToTerminalDonationQueue(terminalDonation); } else { Log.w(TAG, "Job is in terminal state without an error on TerminalDonation."); } @@ -242,7 +242,7 @@ public class BoostReceiptRequestResponseJob extends BaseJob { .serialize()); if (donationErrorSource == DonationErrorSource.GIFT) { - SignalStore.donations().setPendingOneTimeDonation(null); + SignalStore.inAppPayments().setPendingOneTimeDonation(null); } } else { Log.w(TAG, "Encountered a retryable exception: " + response.getStatus(), response.getExecutionError().orElse(null), true); @@ -261,7 +261,7 @@ public class BoostReceiptRequestResponseJob extends BaseJob { .code(Integer.toString(statusCode)) .build(); - SignalStore.donations().setPendingOneTimeDonationError( + SignalStore.inAppPayments().setPendingOneTimeDonationError( donationErrorValue ); @@ -301,7 +301,7 @@ public class BoostReceiptRequestResponseJob extends BaseJob { .code(code) .build(); - SignalStore.donations().setPendingOneTimeDonationError( + SignalStore.inAppPayments().setPendingOneTimeDonationError( donationErrorValue ); diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/DonationReceiptRedemptionJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/DonationReceiptRedemptionJob.java index 645a0a28cd..b0cf582d7d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/DonationReceiptRedemptionJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/DonationReceiptRedemptionJob.java @@ -136,14 +136,14 @@ public class DonationReceiptRedemptionJob extends BaseJob { if (isForSubscription()) { Log.d(TAG, "Marking subscription failure", true); - SignalStore.donations().markSubscriptionRedemptionFailed(); + SignalStore.inAppPayments().markSubscriptionRedemptionFailed(); MultiDeviceSubscriptionSyncRequestJob.enqueue(); } else if (giftMessageId != NO_ID) { SignalDatabase.messages().markGiftRedemptionFailed(giftMessageId); } if (terminalDonation != null) { - SignalStore.donations().appendToTerminalDonationQueue(terminalDonation); + SignalStore.inAppPayments().appendToTerminalDonationQueue(terminalDonation); } } @@ -194,7 +194,7 @@ public class DonationReceiptRedemptionJob extends BaseJob { Log.d(TAG, "Attempting to redeem token... isForSubscription: " + isForSubscription(), true); ServiceResponse response = AppDependencies.getDonationsService() .redeemDonationReceipt(presentation, - SignalStore.donations().getDisplayBadgesOnProfile(), + SignalStore.inAppPayments().getDisplayBadgesOnProfile(), makePrimary); if (response.getApplicationError().isPresent()) { @@ -211,7 +211,7 @@ public class DonationReceiptRedemptionJob extends BaseJob { .code(Integer.toString(response.getStatus())) .build(); - SignalStore.donations().setPendingOneTimeDonationError( + SignalStore.inAppPayments().setPendingOneTimeDonationError( donationErrorValue ); @@ -232,12 +232,12 @@ public class DonationReceiptRedemptionJob extends BaseJob { if (isForSubscription()) { Log.d(TAG, "Clearing subscription failure", true); - SignalStore.donations().clearSubscriptionRedemptionFailed(); + SignalStore.inAppPayments().clearSubscriptionRedemptionFailed(); Log.i(TAG, "Recording end of period from active subscription", true); - SignalStore.donations() - .setSubscriptionEndOfPeriodRedeemed(SignalStore.donations() + SignalStore.inAppPayments() + .setSubscriptionEndOfPeriodRedeemed(SignalStore.inAppPayments() .getSubscriptionEndOfPeriodRedemptionStarted()); - SignalStore.donations().clearSubscriptionReceiptCredential(); + SignalStore.inAppPayments().clearSubscriptionReceiptCredential(); } else if (giftMessageId != NO_ID) { Log.d(TAG, "Marking gift redemption completed for " + giftMessageId); SignalDatabase.messages().markGiftRedemptionCompleted(giftMessageId); @@ -249,7 +249,7 @@ public class DonationReceiptRedemptionJob extends BaseJob { } if (isForOneTimeDonation()) { - SignalStore.donations().setPendingOneTimeDonation(null); + SignalStore.inAppPayments().setPendingOneTimeDonation(null); } } @@ -257,7 +257,7 @@ public class DonationReceiptRedemptionJob extends BaseJob { final ReceiptCredentialPresentation receiptCredentialPresentation; if (isForSubscription()) { - receiptCredentialPresentation = SignalStore.donations().getSubscriptionReceiptCredential(); + receiptCredentialPresentation = SignalStore.inAppPayments().getSubscriptionReceiptCredential(); } else { receiptCredentialPresentation = null; } @@ -325,7 +325,7 @@ public class DonationReceiptRedemptionJob extends BaseJob { return; } - SignalStore.donations().appendToTerminalDonationQueue(terminalDonation); + SignalStore.inAppPayments().appendToTerminalDonationQueue(terminalDonation); } @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/ExternalLaunchDonationJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/ExternalLaunchDonationJob.kt index 51c7a16236..e3a7e927e4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/ExternalLaunchDonationJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/ExternalLaunchDonationJob.kt @@ -70,7 +70,7 @@ class ExternalLaunchDonationJob private constructor( if (donationError != null) { when (stripe3DSData.inAppPayment.type) { InAppPaymentType.ONE_TIME_DONATION -> { - SignalStore.donations.setPendingOneTimeDonation( + SignalStore.inAppPayments.setPendingOneTimeDonation( DonationSerializationHelper.createPendingOneTimeDonationProto( Badges.fromDatabaseBadge(stripe3DSData.inAppPayment.data.badge!!), stripe3DSData.paymentSourceType, @@ -82,7 +82,7 @@ class ExternalLaunchDonationJob private constructor( } InAppPaymentType.RECURRING_DONATION -> { - SignalStore.donations.appendToTerminalDonationQueue( + SignalStore.inAppPayments.appendToTerminalDonationQueue( TerminalDonationQueue.TerminalDonation( level = stripe3DSData.inAppPayment.data.level, isLongRunningPaymentMethod = stripe3DSData.isLongRunning, @@ -123,7 +123,7 @@ class ExternalLaunchDonationJob private constructor( SignalDatabase.donationReceipts.addReceipt(donationReceiptRecord) Log.i(TAG, "Creating and inserting one-time pending donation.", true) - SignalStore.donations.setPendingOneTimeDonation( + SignalStore.inAppPayments.setPendingOneTimeDonation( DonationSerializationHelper.createPendingOneTimeDonationProto( Badges.fromDatabaseBadge(stripe3DSData.inAppPayment.data.badge!!), stripe3DSData.paymentSourceType, @@ -154,7 +154,7 @@ class ExternalLaunchDonationJob private constructor( Log.i(TAG, "Set default payment method via Signal service!", true) Log.i(TAG, "Storing the subscription payment source type locally.", true) - SignalStore.donations.setSubscriptionPaymentSourceType(stripe3DSData.paymentSourceType) + SignalStore.inAppPayments.setSubscriptionPaymentSourceType(stripe3DSData.paymentSourceType) val subscriptionLevel = stripe3DSData.inAppPayment.data.level.toString() @@ -171,13 +171,13 @@ class ExternalLaunchDonationJob private constructor( ) getResultOrThrow(updateSubscriptionLevelResponse, doOnApplicationError = { - SignalStore.donations.clearLevelOperations() + SignalStore.inAppPayments.clearLevelOperations() }) if (updateSubscriptionLevelResponse.status in listOf(200, 204)) { Log.d(TAG, "Successfully set user subscription to level $subscriptionLevel with response code ${updateSubscriptionLevelResponse.status}", true) - SignalStore.donations.updateLocalStateForLocalSubscribe(subscriber.type) - SignalStore.donations.setVerifiedSubscription3DSData(stripe3DSData) + SignalStore.inAppPayments.updateLocalStateForLocalSubscribe(subscriber.type) + SignalStore.inAppPayments.setVerifiedSubscription3DSData(stripe3DSData) SignalDatabase.recipients.markNeedsSync(Recipient.self().id) StorageSyncHelper.scheduleSyncForDataChange() } else { @@ -223,7 +223,7 @@ class ExternalLaunchDonationJob private constructor( Log.w(TAG, "An application error was present. ${serviceResponse.status}", serviceResponse.applicationError.get(), true) doOnApplicationError() - SignalStore.donations.appendToTerminalDonationQueue( + SignalStore.inAppPayments.appendToTerminalDonationQueue( TerminalDonationQueue.TerminalDonation( level = stripe3DSData.inAppPayment.data.level, isLongRunningPaymentMethod = stripe3DSData.isLongRunning, diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentAuthCheckJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentAuthCheckJob.kt index 47d55fabd3..976322fbf3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentAuthCheckJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentAuthCheckJob.kt @@ -104,7 +104,7 @@ class InAppPaymentAuthCheckJob private constructor(parameters: Parameters) : Bas } private fun migrateLegacyData() { - val pending3DSData = SignalStore.donations.consumePending3DSData() + val pending3DSData = SignalStore.inAppPayments.consumePending3DSData() if (pending3DSData != null) { Log.i(TAG, "Found legacy data. Performing migration.", true) @@ -249,7 +249,7 @@ class InAppPaymentAuthCheckJob private constructor(parameters: Parameters) : Bas val updateLevelResult = checkResult(updateLevelResponse) if (updateLevelResult is CheckResult.Failure) { - SignalStore.donations.clearLevelOperations() + SignalStore.inAppPayments.clearLevelOperations() return CheckResult.Failure(updateLevelResult.errorData) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentKeepAliveJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentKeepAliveJob.kt index 2860c90c49..c2a96a2f20 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentKeepAliveJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentKeepAliveJob.kt @@ -65,7 +65,7 @@ class InAppPaymentKeepAliveJob private constructor( @JvmStatic fun enqueueAndTrackTimeIfNecessary() { // TODO -- This should only be enqueued if we are completely drained of old subscription jobs. (No pending, no runnning) - val lastKeepAliveTime = SignalStore.donations.getLastKeepAliveLaunchTime().milliseconds + val lastKeepAliveTime = SignalStore.inAppPayments.getLastKeepAliveLaunchTime().milliseconds val now = System.currentTimeMillis().milliseconds if (lastKeepAliveTime > now) { @@ -83,7 +83,7 @@ class InAppPaymentKeepAliveJob private constructor( fun enqueueAndTrackTime(now: Duration) { AppDependencies.jobManager.add(create(InAppPaymentSubscriberRecord.Type.DONATION)) AppDependencies.jobManager.add(create(InAppPaymentSubscriberRecord.Type.BACKUP)) - SignalStore.donations.setLastKeepAliveLaunchTime(now.inWholeMilliseconds) + SignalStore.inAppPayments.setLastKeepAliveLaunchTime(now.inWholeMilliseconds) } } @@ -239,7 +239,7 @@ class InAppPaymentKeepAliveJob private constructor( info(type, "End of period has changed. Requesting receipt refresh. (old: $oldEndOfPeriod, new: $endOfCurrentPeriod)") if (type == InAppPaymentSubscriberRecord.Type.DONATION) { - SignalStore.donations.setLastEndOfPeriod(endOfCurrentPeriod.inWholeSeconds) + SignalStore.inAppPayments.setLastEndOfPeriod(endOfCurrentPeriod.inWholeSeconds) } val inAppPaymentId = SignalDatabase.inAppPayments.insert( diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentRecurringContextJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentRecurringContextJob.kt index 22d41dc6fa..93b36f8c67 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentRecurringContextJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentRecurringContextJob.kt @@ -142,7 +142,7 @@ class InAppPaymentRecurringContextJob private constructor( if (inAppPayment.type.requireSubscriberType() == InAppPaymentSubscriberRecord.Type.DONATION) { info("Recording last end of period.") - SignalStore.donations.setLastEndOfPeriod(subscription.endOfCurrentPeriod) + SignalStore.inAppPayments.setLastEndOfPeriod(subscription.endOfCurrentPeriod) } SignalDatabase.inAppPayments.update( diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentRedemptionJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentRedemptionJob.kt index 98421ae1f5..7cc8b218f4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentRedemptionJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentRedemptionJob.kt @@ -162,7 +162,7 @@ class InAppPaymentRedemptionJob private constructor( .donationsService .redeemDonationReceipt( receiptCredentialPresentation, - SignalStore.donations.getDisplayBadgesOnProfile(), + SignalStore.inAppPayments.getDisplayBadgesOnProfile(), jobData.makePrimary ) @@ -221,7 +221,7 @@ class InAppPaymentRedemptionJob private constructor( .donationsService .redeemDonationReceipt( receiptCredentialPresentation, - SignalStore.donations.getDisplayBadgesOnProfile(), + SignalStore.inAppPayments.getDisplayBadgesOnProfile(), jobData.makePrimary ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/RefreshOwnProfileJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/RefreshOwnProfileJob.java index 1aa3445deb..bb861d065a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/RefreshOwnProfileJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/RefreshOwnProfileJob.java @@ -379,7 +379,7 @@ public class RefreshOwnProfileJob extends BaseJob { .get(); Log.d(TAG, "Marking subscription badge as expired, should notify next time the conversation list is open.", true); - SignalStore.donations().setExpiredBadge(mostRecentExpiration); + SignalStore.inAppPayments().setExpiredBadge(mostRecentExpiration); if (!InAppPaymentsRepository.isUserManuallyCancelled(InAppPaymentSubscriberRecord.Type.DONATION)) { Log.d(TAG, "Detected an unexpected subscription expiry.", true); @@ -421,16 +421,16 @@ public class RefreshOwnProfileJob extends BaseJob { .get(); Log.d(TAG, "Marking boost badge as expired, should notify next time the conversation list is open.", true); - SignalStore.donations().setExpiredBadge(mostRecentExpiration); + SignalStore.inAppPayments().setExpiredBadge(mostRecentExpiration); } else { - Badge badge = SignalStore.donations().getExpiredBadge(); + Badge badge = SignalStore.inAppPayments().getExpiredBadge(); if (badge != null && badge.isSubscription() && remoteHasSubscriptionBadges) { Log.d(TAG, "Remote has subscription badges. Clearing local expired subscription badge.", true); - SignalStore.donations().setExpiredBadge(null); + SignalStore.inAppPayments().setExpiredBadge(null); } else if (badge != null && badge.isBoost() && remoteHasBoostBadges) { Log.d(TAG, "Remote has boost badges. Clearing local expired boost badge.", true); - SignalStore.donations().setExpiredBadge(null); + SignalStore.inAppPayments().setExpiredBadge(null); } } @@ -444,10 +444,10 @@ public class RefreshOwnProfileJob extends BaseJob { .get(); Log.d(TAG, "Marking gift badge as expired, should notify next time the manage donations screen is open.", true); - SignalStore.donations().setExpiredGiftBadge(mostRecentExpiration); + SignalStore.inAppPayments().setExpiredGiftBadge(mostRecentExpiration); } else if (remoteHasGiftBadges) { Log.d(TAG, "We have remote gift badges. Clearing local expired gift badge.", true); - SignalStore.donations().setExpiredGiftBadge(null); + SignalStore.inAppPayments().setExpiredGiftBadge(null); } boolean userHasVisibleBadges = badges.stream().anyMatch(SignalServiceProfile.Badge::isVisible); @@ -456,7 +456,7 @@ public class RefreshOwnProfileJob extends BaseJob { List appBadges = badges.stream().map(Badges::fromServiceBadge).collect(Collectors.toList()); if (userHasVisibleBadges && userHasInvisibleBadges) { - boolean displayBadgesOnProfile = SignalStore.donations().getDisplayBadgesOnProfile(); + boolean displayBadgesOnProfile = SignalStore.inAppPayments().getDisplayBadgesOnProfile(); Log.d(TAG, "Detected mixed visibility of badges. Telling the server to mark them all " + (displayBadgesOnProfile ? "" : "not") + " visible.", true); diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionKeepAliveJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionKeepAliveJob.java index c61c3a5088..6f740d9793 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionKeepAliveJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionKeepAliveJob.java @@ -93,17 +93,17 @@ public class SubscriptionKeepAliveJob extends BaseJob { } final long endOfCurrentPeriod = activeSubscription.getActiveSubscription().getEndOfCurrentPeriod(); - if (endOfCurrentPeriod > SignalStore.donations().getLastEndOfPeriod()) { + if (endOfCurrentPeriod > SignalStore.inAppPayments().getLastEndOfPeriod()) { Log.i(TAG, String.format(Locale.US, "Last end of period change. Requesting receipt refresh. (old: %d to new: %d)", - SignalStore.donations().getLastEndOfPeriod(), + SignalStore.inAppPayments().getLastEndOfPeriod(), activeSubscription.getActiveSubscription().getEndOfCurrentPeriod()), true); - SignalStore.donations().setLastEndOfPeriod(endOfCurrentPeriod); - SignalStore.donations().clearSubscriptionRequestCredential(); - SignalStore.donations().clearSubscriptionReceiptCredential(); + SignalStore.inAppPayments().setLastEndOfPeriod(endOfCurrentPeriod); + SignalStore.inAppPayments().clearSubscriptionRequestCredential(); + SignalStore.inAppPayments().clearSubscriptionReceiptCredential(); MultiDeviceSubscriptionSyncRequestJob.enqueue(); } @@ -114,22 +114,22 @@ public class SubscriptionKeepAliveJob extends BaseJob { ByteString.EMPTY ); - if (endOfCurrentPeriod > SignalStore.donations().getSubscriptionEndOfPeriodConversionStarted()) { + if (endOfCurrentPeriod > SignalStore.inAppPayments().getSubscriptionEndOfPeriodConversionStarted()) { Log.i(TAG, "Subscription end of period is after the conversion end of period. Storing it, generating a credential, and enqueuing the continuation job chain.", true); - SignalStore.donations().setSubscriptionEndOfPeriodConversionStarted(endOfCurrentPeriod); - SignalStore.donations().refreshSubscriptionRequestCredential(); + SignalStore.inAppPayments().setSubscriptionEndOfPeriodConversionStarted(endOfCurrentPeriod); + SignalStore.inAppPayments().refreshSubscriptionRequestCredential(); SubscriptionReceiptRequestResponseJob.createSubscriptionContinuationJobChain(true, -1L, terminalDonation).enqueue(); - } else if (endOfCurrentPeriod > SignalStore.donations().getSubscriptionEndOfPeriodRedemptionStarted()) { - if (SignalStore.donations().getSubscriptionRequestCredential() == null) { + } else if (endOfCurrentPeriod > SignalStore.inAppPayments().getSubscriptionEndOfPeriodRedemptionStarted()) { + if (SignalStore.inAppPayments().getSubscriptionRequestCredential() == null) { Log.i(TAG, "We have not started a redemption, but do not have a request credential. Possible that the subscription changed.", true); return; } Log.i(TAG, "We have a request credential and have not yet turned it into a redeemable token.", true); SubscriptionReceiptRequestResponseJob.createSubscriptionContinuationJobChain(true, -1L, terminalDonation).enqueue(); - } else if (endOfCurrentPeriod > SignalStore.donations().getSubscriptionEndOfPeriodRedeemed()) { - if (SignalStore.donations().getSubscriptionReceiptCredential() == null) { + } else if (endOfCurrentPeriod > SignalStore.inAppPayments().getSubscriptionEndOfPeriodRedeemed()) { + if (SignalStore.inAppPayments().getSubscriptionReceiptCredential() == null) { Log.i(TAG, "We have successfully started redemption but have no stored token. Possible that the subscription changed.", true); return; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionReceiptRequestResponseJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionReceiptRequestResponseJob.java index 602409722f..720b6ce0f3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionReceiptRequestResponseJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionReceiptRequestResponseJob.java @@ -132,7 +132,7 @@ public class SubscriptionReceiptRequestResponseJob extends BaseJob { @Override public void onFailure() { if (terminalDonation.error != null) { - SignalStore.donations().appendToTerminalDonationQueue(terminalDonation); + SignalStore.inAppPayments().appendToTerminalDonationQueue(terminalDonation); } else { Log.w(TAG, "Job is in terminal state without an error on TerminalDonation."); } @@ -155,7 +155,7 @@ public class SubscriptionReceiptRequestResponseJob extends BaseJob { } private void doRun() throws Exception { - ReceiptCredentialRequestContext requestContext = SignalStore.donations().getSubscriptionRequestCredential(); + ReceiptCredentialRequestContext requestContext = SignalStore.inAppPayments().getSubscriptionRequestCredential(); ActiveSubscription activeSubscription = getLatestSubscriptionInformation(); ActiveSubscription.Subscription subscription = activeSubscription.getActiveSubscription(); @@ -203,16 +203,16 @@ public class SubscriptionReceiptRequestResponseJob extends BaseJob { throw new RetryableException(); } else { Log.i(TAG, "Subscription is valid, proceeding with request for ReceiptCredentialResponse", true); - long storedEndOfPeriod = SignalStore.donations().getLastEndOfPeriod(); + long storedEndOfPeriod = SignalStore.inAppPayments().getLastEndOfPeriod(); if (storedEndOfPeriod < subscription.getEndOfCurrentPeriod()) { Log.i(TAG, "Storing lastEndOfPeriod and syncing with linked devices", true); - SignalStore.donations().setLastEndOfPeriod(subscription.getEndOfCurrentPeriod()); + SignalStore.inAppPayments().setLastEndOfPeriod(subscription.getEndOfCurrentPeriod()); MultiDeviceSubscriptionSyncRequestJob.enqueue(); } - if (SignalStore.donations().getSubscriptionEndOfPeriodConversionStarted() == 0L) { + if (SignalStore.inAppPayments().getSubscriptionEndOfPeriodConversionStarted() == 0L) { Log.i(TAG, "Marking the start of initial conversion.", true); - SignalStore.donations().setSubscriptionEndOfPeriodConversionStarted(subscription.getEndOfCurrentPeriod()); + SignalStore.inAppPayments().setSubscriptionEndOfPeriodConversionStarted(subscription.getEndOfCurrentPeriod()); } } @@ -235,9 +235,9 @@ public class SubscriptionReceiptRequestResponseJob extends BaseJob { Log.d(TAG, "Validated credential. Recording receipt and handing off to redemption job.", true); SignalDatabase.donationReceipts().addReceipt(DonationReceiptRecord.createForSubscription(subscription)); - SignalStore.donations().clearSubscriptionRequestCredential(); - SignalStore.donations().setSubscriptionReceiptCredential(receiptCredentialPresentation); - SignalStore.donations().setSubscriptionEndOfPeriodRedemptionStarted(subscription.getEndOfCurrentPeriod()); + SignalStore.inAppPayments().clearSubscriptionRequestCredential(); + SignalStore.inAppPayments().setSubscriptionReceiptCredential(receiptCredentialPresentation); + SignalStore.inAppPayments().setSubscriptionEndOfPeriodRedemptionStarted(subscription.getEndOfCurrentPeriod()); setOutputData(new JsonJobData.Builder() .putBlobAsString(DonationReceiptRedemptionJob.INPUT_TERMINAL_DONATION, terminalDonation.encode()) @@ -290,7 +290,7 @@ public class SubscriptionReceiptRequestResponseJob extends BaseJob { switch (response.getStatus()) { case 204: Log.w(TAG, "Payment is still processing. Trying again.", response.getApplicationError().get(), true); - SignalStore.donations().clearSubscriptionRedemptionFailed(); + SignalStore.inAppPayments().clearSubscriptionRedemptionFailed(); throw new RetryableException(); case 400: Log.w(TAG, "Receipt credential request failed to validate.", response.getApplicationError().get(), true); @@ -359,13 +359,13 @@ public class SubscriptionReceiptRequestResponseJob extends BaseJob { if (isForKeepAlive) { Log.d(TAG, "Subscription canceled during keep-alive. Setting UnexpectedSubscriptionCancelation state...", true); - SignalStore.donations().setUnexpectedSubscriptionCancelationChargeFailure(chargeFailure); - SignalStore.donations().setUnexpectedSubscriptionCancelationReason(subscription.getStatus()); - SignalStore.donations().setUnexpectedSubscriptionCancelationTimestamp(subscription.getEndOfCurrentPeriod()); - SignalStore.donations().setShowMonthlyDonationCanceledDialog(true); + SignalStore.inAppPayments().setUnexpectedSubscriptionCancelationChargeFailure(chargeFailure); + SignalStore.inAppPayments().setUnexpectedSubscriptionCancelationReason(subscription.getStatus()); + SignalStore.inAppPayments().setUnexpectedSubscriptionCancelationTimestamp(subscription.getEndOfCurrentPeriod()); + SignalStore.inAppPayments().setShowMonthlyDonationCanceledDialog(true); AppDependencies.getDonationsService().getDonationsConfiguration(Locale.getDefault()).getResult().ifPresent(config -> { - SignalStore.donations().setExpiredBadge(DonationsConfigurationExtensionsKt.getBadge(config, subscription.getLevel())); + SignalStore.inAppPayments().setExpiredBadge(DonationsConfigurationExtensionsKt.getBadge(config, subscription.getLevel())); }); MultiDeviceSubscriptionSyncRequestJob.enqueue(); @@ -375,7 +375,7 @@ public class SubscriptionReceiptRequestResponseJob extends BaseJob { StripeDeclineCode declineCode = StripeDeclineCode.Companion.getFromCode(chargeFailure.getOutcomeNetworkReason()); StripeFailureCode failureCode = StripeFailureCode.Companion.getFromCode(chargeFailure.getCode()); DonationError.PaymentSetupError paymentSetupError; - PaymentSourceType paymentSourceType = SignalStore.donations().getSubscriptionPaymentSourceType(); + PaymentSourceType paymentSourceType = SignalStore.inAppPayments().getSubscriptionPaymentSourceType(); boolean isStripeSource = paymentSourceType instanceof PaymentSourceType.Stripe; if (declineCode.isKnown() && isStripeSource) { @@ -421,7 +421,7 @@ public class SubscriptionReceiptRequestResponseJob extends BaseJob { PayPalDeclineCode declineCode = new PayPalDeclineCode(code); DonationError.PaymentSetupError paymentSetupError; - PaymentSourceType paymentSourceType = SignalStore.donations().getSubscriptionPaymentSourceType(); + PaymentSourceType paymentSourceType = SignalStore.inAppPayments().getSubscriptionPaymentSourceType(); boolean isPayPalSource = paymentSourceType instanceof PaymentSourceType.PayPal; if (declineCode.getKnownCode() != null && isPayPalSource) { @@ -518,10 +518,10 @@ public class SubscriptionReceiptRequestResponseJob extends BaseJob { byte[] rawTerminalDonation = data.getStringAsBlob(DATA_TERMINAL_DONATION); ReceiptCredentialRequestContext requestContext; - if (requestContextBytes != null && SignalStore.donations().getSubscriptionRequestCredential() == null) { + if (requestContextBytes != null && SignalStore.inAppPayments().getSubscriptionRequestCredential() == null) { try { requestContext = new ReceiptCredentialRequestContext(requestContextBytes); - SignalStore.donations().setSubscriptionRequestCredential(requestContext); + SignalStore.inAppPayments().setSubscriptionRequestCredential(requestContext); } catch (InvalidInputException e) { Log.e(TAG, "Failed to generate request context from bytes", e); throw new AssertionError(e); diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/DonationsValues.kt b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/InAppPaymentValues.kt similarity index 98% rename from app/src/main/java/org/thoughtcrime/securesms/keyvalue/DonationsValues.kt rename to app/src/main/java/org/thoughtcrime/securesms/keyvalue/InAppPaymentValues.kt index 6a4501eb78..892dc3ffae 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/DonationsValues.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/InAppPaymentValues.kt @@ -34,13 +34,13 @@ import java.util.Optional import java.util.concurrent.TimeUnit /** - * Key-Value store for donation related values. Note that most of this file will be deprecated after the release of + * Key-Value store for in app payment related values. Note that most of this file will be deprecated after the release of * InAppPayments (90day rollout window + 30day max job lifespan window) */ -class DonationsValues internal constructor(store: KeyValueStore) : SignalStoreValues(store) { +class InAppPaymentValues internal constructor(store: KeyValueStore) : SignalStoreValues(store) { companion object { - private val TAG = Log.tag(DonationsValues::class.java) + private val TAG = Log.tag(InAppPaymentValues::class.java) private const val KEY_DONATION_SUBSCRIPTION_CURRENCY_CODE = "donation.currency.code" private const val KEY_BACKUPS_SUBSCRIPTION_CURRENCY_CODE = "donation.backups.currency.code" diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SignalStore.kt b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SignalStore.kt index d3dcf5adcb..986e0abbb4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SignalStore.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SignalStore.kt @@ -28,7 +28,7 @@ class SignalStore(private val store: KeyValueStore) { val onboardingValues = OnboardingValues(store) val wallpaperValues = WallpaperValues(store) val paymentsValues = PaymentsValues(store) - val donationsValues = DonationsValues(store) + val inAppPaymentValues = InAppPaymentValues(store) val proxyValues = ProxyValues(store) val rateLimitValues = RateLimitValues(store) val chatColorsValues = ChatColorsValues(store) @@ -68,7 +68,7 @@ class SignalStore(private val store: KeyValueStore) { onboarding.onFirstEverAppLaunch() wallpaper.onFirstEverAppLaunch() payments.onFirstEverAppLaunch() - donations.onFirstEverAppLaunch() + inAppPayments.onFirstEverAppLaunch() proxy.onFirstEverAppLaunch() rateLimit.onFirstEverAppLaunch() chatColors.onFirstEverAppLaunch() @@ -98,7 +98,7 @@ class SignalStore(private val store: KeyValueStore) { onboarding.keysToIncludeInBackup + wallpaper.keysToIncludeInBackup + payments.keysToIncludeInBackup + - donations.keysToIncludeInBackup + + inAppPayments.keysToIncludeInBackup + proxy.keysToIncludeInBackup + rateLimit.keysToIncludeInBackup + chatColors.keysToIncludeInBackup + @@ -209,9 +209,9 @@ class SignalStore(private val store: KeyValueStore) { get() = instance.paymentsValues @JvmStatic - @get:JvmName("donations") - val donations: DonationsValues - get() = instance.donationsValues + @get:JvmName("inAppPayments") + val inAppPayments: InAppPaymentValues + get() = instance.inAppPaymentValues @JvmStatic @get:JvmName("proxy") diff --git a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionBadges.java b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionBadges.java index 2df2724148..bbda63c16c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionBadges.java +++ b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionBadges.java @@ -34,32 +34,32 @@ final class LogSectionBadges implements LogSection { if (latestRecurringDonation != null) { return new StringBuilder().append("Badge Count : ").append(Recipient.self().getBadges().size()).append("\n") - .append("ExpiredBadge : ").append(SignalStore.donations().getExpiredBadge() != null).append("\n") - .append("LastKeepAliveLaunchTime : ").append(SignalStore.donations().getLastKeepAliveLaunchTime()).append("\n") - .append("LastEndOfPeriod : ").append(SignalStore.donations().getLastEndOfPeriod()).append("\n") + .append("ExpiredBadge : ").append(SignalStore.inAppPayments().getExpiredBadge() != null).append("\n") + .append("LastKeepAliveLaunchTime : ").append(SignalStore.inAppPayments().getLastKeepAliveLaunchTime()).append("\n") + .append("LastEndOfPeriod : ").append(SignalStore.inAppPayments().getLastEndOfPeriod()).append("\n") .append("InAppPayment.State : ").append(latestRecurringDonation.getState()).append("\n") .append("InAppPayment.EndOfPeriod : ").append(latestRecurringDonation.getEndOfPeriodSeconds()).append("\n") .append("InAppPaymentData.RedemptionState: ").append(getRedemptionStage(latestRecurringDonation.getData())).append("\n") .append("InAppPaymentData.Error : ").append(getError(latestRecurringDonation.getData())).append("\n") .append("InAppPaymentData.Cancellation : ").append(getCancellation(latestRecurringDonation.getData())).append("\n") - .append("DisplayBadgesOnProfile : ").append(SignalStore.donations().getDisplayBadgesOnProfile()).append("\n") + .append("DisplayBadgesOnProfile : ").append(SignalStore.inAppPayments().getDisplayBadgesOnProfile()).append("\n") .append("ShouldCancelBeforeNextAttempt : ").append(InAppPaymentsRepository.getShouldCancelSubscriptionBeforeNextSubscribeAttempt(InAppPaymentSubscriberRecord.Type.DONATION)).append("\n") - .append("IsUserManuallyCancelledDonation : ").append(SignalStore.donations().isDonationSubscriptionManuallyCancelled()).append("\n"); + .append("IsUserManuallyCancelledDonation : ").append(SignalStore.inAppPayments().isDonationSubscriptionManuallyCancelled()).append("\n"); } else { return new StringBuilder().append("Badge Count : ").append(Recipient.self().getBadges().size()).append("\n") - .append("ExpiredBadge : ").append(SignalStore.donations().getExpiredBadge() != null).append("\n") - .append("LastKeepAliveLaunchTime : ").append(SignalStore.donations().getLastKeepAliveLaunchTime()).append("\n") - .append("LastEndOfPeriod : ").append(SignalStore.donations().getLastEndOfPeriod()).append("\n") - .append("SubscriptionEndOfPeriodConversionStarted: ").append(SignalStore.donations().getSubscriptionEndOfPeriodConversionStarted()).append("\n") - .append("SubscriptionEndOfPeriodRedemptionStarted: ").append(SignalStore.donations().getSubscriptionEndOfPeriodRedemptionStarted()).append("\n") - .append("SubscriptionEndOfPeriodRedeemed : ").append(SignalStore.donations().getSubscriptionEndOfPeriodRedeemed()).append("\n") - .append("IsUserManuallyCancelledDonation : ").append(SignalStore.donations().isDonationSubscriptionManuallyCancelled()).append("\n") - .append("DisplayBadgesOnProfile : ").append(SignalStore.donations().getDisplayBadgesOnProfile()).append("\n") - .append("SubscriptionRedemptionFailed : ").append(SignalStore.donations().getSubscriptionRedemptionFailed()).append("\n") - .append("ShouldCancelBeforeNextAttempt : ").append(SignalStore.donations().getShouldCancelSubscriptionBeforeNextSubscribeAttempt()).append("\n") - .append("Has unconverted request context : ").append(SignalStore.donations().getSubscriptionRequestCredential() != null).append("\n") - .append("Has unredeemed receipt presentation : ").append(SignalStore.donations().getSubscriptionReceiptCredential() != null).append("\n"); + .append("ExpiredBadge : ").append(SignalStore.inAppPayments().getExpiredBadge() != null).append("\n") + .append("LastKeepAliveLaunchTime : ").append(SignalStore.inAppPayments().getLastKeepAliveLaunchTime()).append("\n") + .append("LastEndOfPeriod : ").append(SignalStore.inAppPayments().getLastEndOfPeriod()).append("\n") + .append("SubscriptionEndOfPeriodConversionStarted: ").append(SignalStore.inAppPayments().getSubscriptionEndOfPeriodConversionStarted()).append("\n") + .append("SubscriptionEndOfPeriodRedemptionStarted: ").append(SignalStore.inAppPayments().getSubscriptionEndOfPeriodRedemptionStarted()).append("\n") + .append("SubscriptionEndOfPeriodRedeemed : ").append(SignalStore.inAppPayments().getSubscriptionEndOfPeriodRedeemed()).append("\n") + .append("IsUserManuallyCancelledDonation : ").append(SignalStore.inAppPayments().isDonationSubscriptionManuallyCancelled()).append("\n") + .append("DisplayBadgesOnProfile : ").append(SignalStore.inAppPayments().getDisplayBadgesOnProfile()).append("\n") + .append("SubscriptionRedemptionFailed : ").append(SignalStore.inAppPayments().getSubscriptionRedemptionFailed()).append("\n") + .append("ShouldCancelBeforeNextAttempt : ").append(SignalStore.inAppPayments().getShouldCancelSubscriptionBeforeNextSubscribeAttempt()).append("\n") + .append("Has unconverted request context : ").append(SignalStore.inAppPayments().getSubscriptionRequestCredential() != null).append("\n") + .append("Has unredeemed receipt presentation : ").append(SignalStore.inAppPayments().getSubscriptionReceiptCredential() != null).append("\n"); } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/migrations/SubscriberIdMigrationJob.kt b/app/src/main/java/org/thoughtcrime/securesms/migrations/SubscriberIdMigrationJob.kt index 9f4c0e82af..14c0a99e4d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/migrations/SubscriberIdMigrationJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/migrations/SubscriberIdMigrationJob.kt @@ -31,7 +31,7 @@ internal class SubscriberIdMigrationJob( override fun performMigration() { Currency.getAvailableCurrencies().forEach { currency -> - val subscriber = SignalStore.donations.getSubscriber(currency) + val subscriber = SignalStore.inAppPayments.getSubscriber(currency) if (subscriber != null) { SignalDatabase.inAppPaymentSubscribers.insertOrReplace( @@ -39,8 +39,8 @@ internal class SubscriberIdMigrationJob( subscriber.subscriberId, subscriber.currency, InAppPaymentSubscriberRecord.Type.DONATION, - SignalStore.donations.shouldCancelSubscriptionBeforeNextSubscribeAttempt, - SignalStore.donations.getSubscriptionPaymentSourceType().toPaymentMethodType() + SignalStore.inAppPayments.shouldCancelSubscriptionBeforeNextSubscribeAttempt, + SignalStore.inAppPayments.getSubscriptionPaymentSourceType().toPaymentMethodType() ) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java b/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java index eaac049f78..ea47d847bf 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java @@ -157,7 +157,7 @@ public final class StorageSyncHelper { .setUniversalExpireTimer(SignalStore.settings().getUniversalExpireTimer()) .setDefaultReactions(SignalStore.emoji().getReactions()) .setSubscriber(StorageSyncModels.localToRemoteSubscriber(InAppPaymentsRepository.getSubscriber(InAppPaymentSubscriberRecord.Type.DONATION))) - .setDisplayBadgesOnProfile(SignalStore.donations().getDisplayBadgesOnProfile()) + .setDisplayBadgesOnProfile(SignalStore.inAppPayments().getDisplayBadgesOnProfile()) .setSubscriptionManuallyCancelled(InAppPaymentsRepository.isUserManuallyCancelled(InAppPaymentSubscriberRecord.Type.DONATION)) .setKeepMutedChatsArchived(SignalStore.settings().shouldKeepMutedChatsArchived()) .setHasSetMyStoriesPrivacy(SignalStore.story().getUserHasBeenNotifiedAboutStories()) @@ -200,7 +200,7 @@ public final class StorageSyncHelper { SignalStore.payments().setEnabledAndEntropy(update.getNew().getPayments().isEnabled(), Entropy.fromBytes(update.getNew().getPayments().getEntropy().orElse(null))); SignalStore.settings().setUniversalExpireTimer(update.getNew().getUniversalExpireTimer()); SignalStore.emoji().setReactions(update.getNew().getDefaultReactions()); - SignalStore.donations().setDisplayBadgesOnProfile(update.getNew().isDisplayBadgesOnProfile()); + SignalStore.inAppPayments().setDisplayBadgesOnProfile(update.getNew().isDisplayBadgesOnProfile()); SignalStore.settings().setKeepMutedChatsArchived(update.getNew().isKeepMutedChatsArchived()); SignalStore.story().setUserHasBeenNotifiedAboutStories(update.getNew().hasSetMyStoriesPrivacy()); SignalStore.story().setUserHasViewedOnboardingStory(update.getNew().hasViewedOnboardingStory()); @@ -226,7 +226,7 @@ public final class StorageSyncHelper { } if (update.getNew().isSubscriptionManuallyCancelled() && !update.getOld().isSubscriptionManuallyCancelled()) { - SignalStore.donations().updateLocalStateForManualCancellation(InAppPaymentSubscriberRecord.Type.DONATION); + SignalStore.inAppPayments().updateLocalStateForManualCancellation(InAppPaymentSubscriberRecord.Type.DONATION); } if (fetchProfile && update.getNew().getAvatarUrlPath().isPresent()) {