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 2a5f59b1e3..9e07f69471 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 @@ -41,7 +41,7 @@ class AppSettingsViewModel : ViewModel() { disposables += RecurringInAppPaymentRepository.getActiveSubscription(InAppPaymentSubscriberRecord.Type.DONATION).subscribeBy( onSuccess = { activeSubscription -> store.update { state -> - state.copy(allowUserToGoToDonationManagementScreen = activeSubscription.isActive || InAppDonations.hasAtLeastOnePaymentMethodAvailable()) + state.copy(allowUserToGoToDonationManagementScreen = SignalStore.account.isRegistered && (activeSubscription.isActive || InAppDonations.hasAtLeastOnePaymentMethodAvailable())) } }, onError = {} 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 47c620fe23..cfcc83f894 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentKeepAliveJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/InAppPaymentKeepAliveJob.kt @@ -95,6 +95,11 @@ class InAppPaymentKeepAliveJob private constructor( } private fun doRun() { + if (!SignalStore.account.isRegistered) { + warn(type, "User is not registered. Skipping.") + return + } + val subscriber: InAppPaymentSubscriberRecord? = InAppPaymentsRepository.getSubscriber(type) if (subscriber == null) { info(type, "Subscriber not present. Skipping.")