Add extra buttons to the Backup Playground.

This commit is contained in:
Greyson Parrelli
2025-09-08 09:39:48 -04:00
parent 2ba427e3dd
commit 0bf2f9aca7

View File

@@ -71,14 +71,15 @@ import org.signal.core.util.getLength
import org.thoughtcrime.securesms.MainActivity
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.backup.v2.BackupRepository
import org.thoughtcrime.securesms.backup.v2.MessageBackupTier
import org.thoughtcrime.securesms.backup.v2.ui.BackupAlert
import org.thoughtcrime.securesms.backup.v2.ui.BackupAlertBottomSheet
import org.thoughtcrime.securesms.components.settings.app.internal.backup.InternalBackupPlaygroundViewModel.DialogState
import org.thoughtcrime.securesms.components.settings.app.internal.backup.InternalBackupPlaygroundViewModel.ScreenState
import org.thoughtcrime.securesms.compose.ComposeFragment
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobs.ArchiveAttachmentBackfillJob
import org.thoughtcrime.securesms.jobs.ArchiveAttachmentReconciliationJob
import org.thoughtcrime.securesms.jobs.ArchiveThumbnailBackfillJob
import org.thoughtcrime.securesms.jobs.BackupRestoreMediaJob
import org.thoughtcrime.securesms.jobs.LocalBackupJob
import org.thoughtcrime.securesms.keyvalue.SignalStore
@@ -155,6 +156,8 @@ class InternalBackupPlaygroundFragment : ComposeFragment() {
onCheckRemoteBackupStateClicked = { viewModel.checkRemoteBackupState() },
onEnqueueRemoteBackupClicked = { viewModel.triggerBackupJob() },
onEnqueueReconciliationClicked = { AppDependencies.jobManager.add(ArchiveAttachmentReconciliationJob(forced = true)) },
onEnqueueAttachmentBackfillJob = { AppDependencies.jobManager.add(ArchiveAttachmentBackfillJob()) },
onEnqueueThumbnailBackfillJob = { AppDependencies.jobManager.add(ArchiveThumbnailBackfillJob()) },
onEnqueueMediaRestoreClicked = { AppDependencies.jobManager.add(BackupRestoreMediaJob()) },
onHaltAllBackupJobsClicked = { viewModel.haltAllJobs() },
onValidateBackupClicked = { viewModel.validateBackup() },
@@ -338,6 +341,8 @@ fun Screen(
onEnqueueRemoteBackupClicked: () -> Unit = {},
onEnqueueReconciliationClicked: () -> Unit = {},
onEnqueueMediaRestoreClicked: () -> Unit = {},
onEnqueueAttachmentBackfillJob: () -> Unit = {},
onEnqueueThumbnailBackfillJob: () -> Unit = {},
onWipeDataAndRestoreFromRemoteClicked: () -> Unit = {},
onHaltAllBackupJobsClicked: () -> Unit = {},
onSavePlaintextCopyOfRemoteBackupClicked: () -> Unit = {},
@@ -353,13 +358,6 @@ fun Screen(
) {
val context = LocalContext.current
val scrollState = rememberScrollState()
val options = remember {
mapOf(
"None" to null,
"Free" to MessageBackupTier.FREE,
"Paid" to MessageBackupTier.PAID
)
}
when (state.dialog) {
DialogState.None -> Unit
@@ -409,6 +407,18 @@ fun Screen(
onClick = onEnqueueReconciliationClicked
)
Rows.TextRow(
text = "Enqueue attachment backfill job",
label = "Schedules a job that will upload any attachments that haven't been uploaded yet.",
onClick = onEnqueueAttachmentBackfillJob
)
Rows.TextRow(
text = "Enqueue thumbnail backfill job",
label = "Schedules a job that will generate and upload any thumbnails that been uploaded yet.",
onClick = onEnqueueThumbnailBackfillJob
)
Rows.TextRow(
text = "Enqueue media restore job",
label = "Schedules a job that will restore any NEEDS_RESTORE media.",