mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-26 11:51:10 +01:00
Sync backup tier to account record.
This commit is contained in:
@@ -100,6 +100,7 @@ import org.thoughtcrime.securesms.notifications.NotificationChannels
|
||||
import org.thoughtcrime.securesms.notifications.NotificationIds
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
import org.thoughtcrime.securesms.storage.StorageSyncHelper
|
||||
import org.thoughtcrime.securesms.util.RemoteConfig
|
||||
import org.thoughtcrime.securesms.util.ServiceUtil
|
||||
import org.thoughtcrime.securesms.util.toMillis
|
||||
@@ -168,6 +169,7 @@ object BackupRepository {
|
||||
Log.w(TAG, "Local device thought it was on PAID tier. Downgrading to FREE tier.")
|
||||
SignalStore.backup.backupTier = MessageBackupTier.FREE
|
||||
SignalStore.backup.backupExpiredAndDowngraded = true
|
||||
scheduleSyncForAccountChange()
|
||||
}
|
||||
|
||||
SignalStore.uiHints.markHasEverEnabledRemoteBackups()
|
||||
@@ -1137,6 +1139,7 @@ object BackupRepository {
|
||||
SignalStore.backup.lastCheckInMillis = System.currentTimeMillis()
|
||||
SignalStore.backup.lastCheckInSnoozeMillis = 0
|
||||
SignalStore.backup.clearDownloadNotifierState()
|
||||
scheduleSyncForAccountChange()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1655,6 +1658,11 @@ object BackupRepository {
|
||||
RemoteConfig.restoreAfterRegistration
|
||||
}
|
||||
|
||||
private fun scheduleSyncForAccountChange() {
|
||||
SignalDatabase.recipients.markNeedsSync(Recipient.self().id)
|
||||
StorageSyncHelper.scheduleSyncForDataChange()
|
||||
}
|
||||
|
||||
private fun File.deleteAllFilesWithPrefix(prefix: String) {
|
||||
this.listFiles()?.filter { it.name.startsWith(prefix) }?.forEach { it.delete() }
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.jobs.InAppPaymentPurchaseTokenJob
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
import org.thoughtcrime.securesms.storage.StorageSyncHelper
|
||||
import org.thoughtcrime.securesms.util.RemoteConfig
|
||||
import org.whispersystems.signalservice.api.storage.IAPSubscriptionId
|
||||
import org.whispersystems.signalservice.internal.push.SubscriptionsConfiguration
|
||||
@@ -236,6 +237,10 @@ class MessageBackupsFlowViewModel(
|
||||
private fun validateTypeAndUpdateState(state: MessageBackupsFlowState): MessageBackupsFlowState {
|
||||
return when (state.selectedMessageBackupTier!!) {
|
||||
MessageBackupTier.FREE -> {
|
||||
viewModelScope.launch(SignalDispatchers.IO) {
|
||||
SignalDatabase.recipients.markNeedsSync(Recipient.self().id)
|
||||
StorageSyncHelper.scheduleSyncForDataChange()
|
||||
}
|
||||
SignalStore.backup.backupTier = MessageBackupTier.FREE
|
||||
SignalStore.uiHints.markHasEverEnabledRemoteBackups()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user