Better progress messaging.

This commit is contained in:
Alex Hart
2024-12-04 14:05:34 -04:00
committed by Greyson Parrelli
parent 1315724d52
commit 699ddb9890
2 changed files with 22 additions and 7 deletions

View File

@@ -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())
}
}

View File

@@ -7778,6 +7778,8 @@
<string name="RemoteBackupsSettingsFragment__couldnt_turn_off_and_delete_backups">Couldn\'t turn off and delete backups</string>
<!-- Dialog body for network error while trying to disable backups -->
<string name="RemoteBackupsSettingsFragment__a_network_error_occurred">A network error occurred. Please check your internet connection and try again.</string>
<!-- Progress message when backup file is being uploaded -->
<string name="RemoteBackupsSettingsFragment__uploading_messages">Uploading messages…</string>
<!-- SubscriptionNotFoundBottomSheet -->
<!-- Displayed as a bottom sheet title -->