chore: Add missing "Max automatic backups" option

This commit is contained in:
Ahmad Ansori Palembani 2024-08-03 21:51:49 +07:00
parent ad3bb53519
commit 0f9ff92f89
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
3 changed files with 22 additions and 11 deletions

View file

@ -9,6 +9,9 @@
## Other ?? Technical stuff, what happened behind the scene
-->
## Additions
- Add missing "Max automatic backups" option on experimental Data and Storage setting menu
## Changes
- Add more info to WorkerInfo page
- Added "next scheduled run"
@ -17,6 +20,7 @@
- `chinese` tag no longer cause reading mode to switch to LTR
- `manhua` tag no longer cause reading mode to switch to LTR
- Local source manga's cover now being invalidated on refresh
- You can now create a backup without any entries using experimental Data and Storage setting menu
## Fixes
- Fixed auto backup, auto extension update, and app update checker stop working
@ -44,7 +48,7 @@
- More StorIO to SQLDelight migrations
- Merge lastFetch and lastRead query into library_view VIEW
- Migrated a few more chapter related queries
- Migrated most of manga related queries
- Migrated most of the manga related queries
- Bump dependency com.github.tachiyomiorg:unifile revision to a9de196cc7
- Update project to Kotlin 2.0
- Update compose bom to v2024.07.00-alpha02

View file

@ -15,9 +15,6 @@ import androidx.lifecycle.lifecycleScope
import androidx.preference.PreferenceScreen
import com.hippo.unifile.UniFile
import eu.kanade.tachiyomi.R
import yokai.i18n.MR
import yokai.util.lang.getString
import dev.icerock.moko.resources.compose.stringResource
import eu.kanade.tachiyomi.data.backup.BackupFileValidator
import eu.kanade.tachiyomi.data.backup.create.BackupCreatorJob
import eu.kanade.tachiyomi.data.backup.create.BackupOptions
@ -35,8 +32,6 @@ import eu.kanade.tachiyomi.ui.setting.onChange
import eu.kanade.tachiyomi.ui.setting.onClick
import eu.kanade.tachiyomi.ui.setting.preference
import eu.kanade.tachiyomi.ui.setting.preferenceCategory
import eu.kanade.tachiyomi.ui.setting.summaryMRes as summaryRes
import eu.kanade.tachiyomi.ui.setting.titleMRes as titleRes
import eu.kanade.tachiyomi.util.system.DeviceUtil
import eu.kanade.tachiyomi.util.system.disableItems
import eu.kanade.tachiyomi.util.system.launchIO
@ -52,9 +47,13 @@ import kotlinx.coroutines.flow.onEach
import uy.kohesive.injekt.injectLazy
import yokai.domain.storage.StorageManager
import yokai.domain.storage.StoragePreferences
import yokai.i18n.MR
import yokai.util.lang.getString
import android.R as AR
import eu.kanade.tachiyomi.ui.setting.summaryMRes as summaryRes
import eu.kanade.tachiyomi.ui.setting.titleMRes as titleRes
@Deprecated("Migrating to compose")
@Deprecated("Migrating to compose", replaceWith = ReplaceWith("SettingsDataController"))
class SettingsDataLegacyController : SettingsLegacyController() {
/**

View file

@ -23,13 +23,10 @@ import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import co.touchlab.kermit.Logger
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.R
import yokai.i18n.MR
import yokai.util.lang.getString
import dev.icerock.moko.resources.compose.stringResource
import eu.kanade.tachiyomi.core.storage.preference.collectAsState
import eu.kanade.tachiyomi.data.backup.BackupFileValidator
import eu.kanade.tachiyomi.data.backup.create.BackupCreatorJob
import eu.kanade.tachiyomi.data.backup.restore.BackupRestoreJob
@ -46,12 +43,14 @@ import eu.kanade.tachiyomi.util.system.toast
import eu.kanade.tachiyomi.util.system.withUIContext
import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.persistentMapOf
import kotlinx.collections.immutable.toImmutableMap
import kotlinx.coroutines.launch
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import yokai.domain.storage.StorageManager
import yokai.domain.storage.StoragePreferences
import yokai.i18n.MR
import yokai.presentation.component.preference.Preference
import yokai.presentation.component.preference.storageLocationText
import yokai.presentation.component.preference.widget.BasePreferenceWidget
@ -61,6 +60,7 @@ import yokai.presentation.settings.screen.data.CreateBackup
import yokai.presentation.settings.screen.data.RestoreBackup
import yokai.presentation.settings.screen.data.StorageInfo
import yokai.presentation.settings.screen.data.storageLocationPicker
import yokai.util.lang.getString
object SettingsDataScreen : ComposableSettings {
@Composable
@ -133,6 +133,8 @@ object SettingsDataScreen : ComposableSettings {
}
}
val backupInterval by preferences.backupInterval().collectAsState()
return Preference.PreferenceGroup(
title = stringResource(MR.strings.backup_and_restore),
preferenceItems = persistentListOf(
@ -218,6 +220,12 @@ object SettingsDataScreen : ComposableSettings {
true
},
),
Preference.PreferenceItem.ListPreference(
pref = preferences.numberOfBackups(),
title = stringResource(MR.strings.max_auto_backups),
entries = (1..5).associateWith { it.toString() }.toImmutableMap(),
enabled = backupInterval > 0,
),
Preference.PreferenceItem.InfoPreference(
stringResource(MR.strings.backup_info)
/*+ "\n\n" + stringResource(MR.strings.last_auto_backup_info, relativeTimeSpanString(lastAutoBackup))*/,