From 7b8dcaea035f0b1c8b581abaeb2996a1dbf5640c Mon Sep 17 00:00:00 2001 From: Kamal Bramwell <kamal@elixxir.io> Date: Fri, 2 Dec 2022 11:24:24 -0500 Subject: [PATCH] Create CrustBackupData, a BackupSnapshot implementation --- .../xxlabs/messenger/backup/cloud/crust/Crust.kt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/Crust.kt b/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/Crust.kt index 7cab3048..6f7dada1 100644 --- a/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/Crust.kt +++ b/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/Crust.kt @@ -7,6 +7,7 @@ import io.xxlabs.messenger.backup.cloud.CloudStorage import io.xxlabs.messenger.backup.data.backup.BackupPreferencesRepository import io.xxlabs.messenger.backup.data.restore.RestoreEnvironment import io.xxlabs.messenger.backup.model.BackupLocation +import io.xxlabs.messenger.backup.model.BackupSnapshot import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -49,8 +50,10 @@ class Crust private constructor( } private suspend fun fetchData() { - cachedBackupData = crustApi.recoverBackup("").getOrNull()?.let { + cachedBackupData = crustApi.recoverBackup(preferences.name).getOrNull()?.let { AccountArchive(it) + }?.also { + updateLastBackup(CrustBackupData.from(it)) } } @@ -89,4 +92,14 @@ class Crust private constructor( crustApi: CrustDataSource ): Crust = instance ?: Crust(backupService, preferences, crustApi) } +} + +private class CrustBackupData( + override val sizeBytes: Long, + override val date: Long = System.currentTimeMillis() +) : BackupSnapshot { + + companion object Factory { + fun from(backupData: AccountArchive) = CrustBackupData(backupData.data.size.toLong()) + } } \ No newline at end of file -- GitLab