Show MIUI warning more prominently in CreateBackupScreen

This commit is contained in:
arkon 2023-12-21 22:41:48 -05:00
parent 83a67feb48
commit 565317d99c
2 changed files with 48 additions and 51 deletions

View File

@ -4,10 +4,8 @@ import android.content.ActivityNotFoundException
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.widget.Toast
import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
@ -28,6 +26,7 @@ import cafe.adriel.voyager.core.model.rememberScreenModel
import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.LocalNavigator
import cafe.adriel.voyager.navigator.currentOrThrow import cafe.adriel.voyager.navigator.currentOrThrow
import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.WarningBanner
import eu.kanade.presentation.util.Screen import eu.kanade.presentation.util.Screen
import eu.kanade.tachiyomi.data.backup.create.BackupCreateFlags import eu.kanade.tachiyomi.data.backup.create.BackupCreateFlags
import eu.kanade.tachiyomi.data.backup.create.BackupCreateJob import eu.kanade.tachiyomi.data.backup.create.BackupCreateJob
@ -77,22 +76,23 @@ class CreateBackupScreen : Screen() {
) )
}, },
) { contentPadding -> ) { contentPadding ->
Column( LazyColumn(
modifier = Modifier modifier = Modifier
.padding(contentPadding) .padding(contentPadding)
.fillMaxSize(), .fillMaxSize(),
) { ) {
LazyColumn( if (DeviceUtil.isMiui && DeviceUtil.isMiuiOptimizationDisabled()) {
modifier = Modifier item {
.weight(1f) WarningBanner(MR.strings.restore_miui_warning)
.padding(horizontal = MaterialTheme.padding.medium), }
) { }
item { item {
LabeledCheckbox( LabeledCheckbox(
label = stringResource(MR.strings.manga), label = stringResource(MR.strings.manga),
checked = true, checked = true,
onCheckedChange = {}, onCheckedChange = {},
enabled = false, enabled = false,
modifier = Modifier.padding(horizontal = MaterialTheme.padding.medium),
) )
} }
BackupChoices.forEach { (k, v) -> BackupChoices.forEach { (k, v) ->
@ -103,6 +103,7 @@ class CreateBackupScreen : Screen() {
onCheckedChange = { onCheckedChange = {
model.toggleFlag(k) model.toggleFlag(k)
}, },
modifier = Modifier.padding(horizontal = MaterialTheme.padding.medium),
) )
} }
} }
@ -116,9 +117,6 @@ class CreateBackupScreen : Screen() {
.fillMaxWidth(), .fillMaxWidth(),
onClick = { onClick = {
if (!BackupCreateJob.isManualJobRunning(context)) { if (!BackupCreateJob.isManualJobRunning(context)) {
if (DeviceUtil.isMiui && DeviceUtil.isMiuiOptimizationDisabled()) {
context.toast(MR.strings.restore_miui_warning, Toast.LENGTH_LONG)
}
try { try {
chooseBackupDir.launch(Backup.getFilename()) chooseBackupDir.launch(Backup.getFilename())
} catch (e: ActivityNotFoundException) { } catch (e: ActivityNotFoundException) {
@ -137,7 +135,6 @@ class CreateBackupScreen : Screen() {
} }
} }
} }
}
private class CreateBackupScreenModel : StateScreenModel<CreateBackupScreenModel.State>(State()) { private class CreateBackupScreenModel : StateScreenModel<CreateBackupScreenModel.State>(State()) {

View File

@ -521,7 +521,7 @@
<string name="pref_storage_usage">Storage usage</string> <string name="pref_storage_usage">Storage usage</string>
<string name="pref_clear_chapter_cache">Clear chapter cache</string> <string name="pref_clear_chapter_cache">Clear chapter cache</string>
<string name="used_cache">Used: %1$s</string> <string name="used_cache">Used: %1$s</string>
<string name="cache_deleted">Cache cleared. %1$d files have been deleted</string> <string name="cache_deleted">Cache cleared, %1$d files deleted</string>
<string name="cache_delete_error">Error occurred while clearing</string> <string name="cache_delete_error">Error occurred while clearing</string>
<string name="pref_auto_clear_chapter_cache">Clear chapter cache on app launch</string> <string name="pref_auto_clear_chapter_cache">Clear chapter cache on app launch</string>