diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt index 873dffc941..0e5296bca0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt @@ -559,7 +559,7 @@ private fun LazyListScope.appendBackupDetailsItems( } } else { item { - InProgressBackupRow(progress = backupProgress.completedAttachments.toInt(), totalProgress = backupProgress.totalAttachments.toInt()) + InProgressBackupRow(archiveUploadProgressState = backupProgress) } } @@ -909,9 +909,11 @@ private fun SubscriptionMismatchMissingGooglePlayCard( @Composable private fun InProgressBackupRow( - progress: Int?, - totalProgress: Int? + archiveUploadProgressState: ArchiveUploadProgressState ) { + val progress = archiveUploadProgressState.completedAttachments + val totalProgress = archiveUploadProgressState.totalAttachments + Row( modifier = Modifier .padding(horizontal = dimensionResource(id = CoreUiR.dimen.gutter)) @@ -920,7 +922,7 @@ private fun InProgressBackupRow( Column( modifier = Modifier.weight(1f) ) { - if (totalProgress == null || totalProgress == 0) { + if (totalProgress == 0L) { LinearProgressIndicator(modifier = Modifier.fillMaxWidth()) } else { LinearProgressIndicator( @@ -929,8 +931,8 @@ private fun InProgressBackupRow( ) } - val inProgressText = if (totalProgress == null || totalProgress == 0) { - stringResource(R.string.RemoteBackupsSettingsFragment__processing_backup) + val inProgressText = if (totalProgress == 0L) { + getProgressStateMessage(archiveUploadProgressState.state) } else { stringResource(R.string.RemoteBackupsSettingsFragment__d_slash_d, progress ?: 0, totalProgress) } @@ -944,6 +946,17 @@ private fun InProgressBackupRow( } } +@Composable +private fun getProgressStateMessage(state: ArchiveUploadProgressState.State): String { + val stringId = when (state) { + ArchiveUploadProgressState.State.None, ArchiveUploadProgressState.State.BackingUpMessages -> R.string.RemoteBackupsSettingsFragment__processing_backup + ArchiveUploadProgressState.State.UploadingMessages -> R.string.RemoteBackupsSettingsFragment__uploading_messages + ArchiveUploadProgressState.State.UploadingAttachments -> R.string.RemoteBackupsSettingsFragment__processing_backup + } + + return stringResource(stringId) +} + @Composable private fun LastBackupRow( lastBackupTimestamp: Long, @@ -1337,7 +1350,7 @@ private fun LastBackupRowPreview() { @Composable private fun InProgressRowPreview() { Previews.Preview { - InProgressBackupRow(50, 100) + InProgressBackupRow(archiveUploadProgressState = ArchiveUploadProgressState()) } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b6fbc94538..9961736f12 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -7778,6 +7778,8 @@ Couldn\'t turn off and delete backups A network error occurred. Please check your internet connection and try again. + + Uploading messages…