parent
f0dd33ee4c
commit
2f5eb73d29
1 changed files with 27 additions and 12 deletions
|
@ -10,11 +10,14 @@ import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.heightIn
|
import androidx.compose.foundation.layout.heightIn
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||||
|
import androidx.compose.foundation.rememberScrollState
|
||||||
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material3.AlertDialog
|
import androidx.compose.material3.AlertDialog
|
||||||
import androidx.compose.material3.Checkbox
|
import androidx.compose.material3.Checkbox
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
|
@ -255,18 +258,30 @@ object SettingsBackupScreen : SearchableSettings {
|
||||||
onDismissRequest = onDismissRequest,
|
onDismissRequest = onDismissRequest,
|
||||||
title = { Text(text = stringResource(R.string.pref_restore_backup)) },
|
title = { Text(text = stringResource(R.string.pref_restore_backup)) },
|
||||||
text = {
|
text = {
|
||||||
|
Column(
|
||||||
|
modifier = Modifier.verticalScroll(rememberScrollState()),
|
||||||
|
) {
|
||||||
val msg = buildString {
|
val msg = buildString {
|
||||||
append(stringResource(R.string.backup_restore_content_full))
|
append(stringResource(R.string.backup_restore_content_full))
|
||||||
if (err.sources.isNotEmpty()) {
|
if (err.sources.isNotEmpty()) {
|
||||||
append("\n\n").append(stringResource(R.string.backup_restore_missing_sources))
|
append("\n\n").append(stringResource(R.string.backup_restore_missing_sources))
|
||||||
err.sources.joinTo(this, separator = "\n- ", prefix = "\n- ")
|
err.sources.joinTo(
|
||||||
|
this,
|
||||||
|
separator = "\n- ",
|
||||||
|
prefix = "\n- ",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
if (err.trackers.isNotEmpty()) {
|
if (err.trackers.isNotEmpty()) {
|
||||||
append("\n\n").append(stringResource(R.string.backup_restore_missing_trackers))
|
append("\n\n").append(stringResource(R.string.backup_restore_missing_trackers))
|
||||||
err.trackers.joinTo(this, separator = "\n- ", prefix = "\n- ")
|
err.trackers.joinTo(
|
||||||
|
this,
|
||||||
|
separator = "\n- ",
|
||||||
|
prefix = "\n- ",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Text(text = msg)
|
Text(text = msg)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
confirmButton = {
|
confirmButton = {
|
||||||
TextButton(
|
TextButton(
|
||||||
|
@ -327,7 +342,7 @@ object SettingsBackupScreen : SearchableSettings {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun getAutomaticBackupGroup(
|
private fun getAutomaticBackupGroup(
|
||||||
backupPreferences: BackupPreferences,
|
backupPreferences: BackupPreferences,
|
||||||
): Preference.PreferenceGroup {
|
): Preference.PreferenceGroup {
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
|
@ -402,7 +417,7 @@ private data class MissingRestoreComponents(
|
||||||
val trackers: List<String>,
|
val trackers: List<String>,
|
||||||
)
|
)
|
||||||
|
|
||||||
data class InvalidRestore(
|
private data class InvalidRestore(
|
||||||
val uri: Uri,
|
val uri: Uri,
|
||||||
val message: String,
|
val message: String,
|
||||||
)
|
)
|
||||||
|
|
Reference in a new issue