mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
chore: Add missing "Max automatic backups" option
This commit is contained in:
parent
ad3bb53519
commit
0f9ff92f89
3 changed files with 22 additions and 11 deletions
|
@ -9,6 +9,9 @@
|
||||||
|
|
||||||
## Other ?? Technical stuff, what happened behind the scene
|
## Other ?? Technical stuff, what happened behind the scene
|
||||||
-->
|
-->
|
||||||
|
## Additions
|
||||||
|
- Add missing "Max automatic backups" option on experimental Data and Storage setting menu
|
||||||
|
|
||||||
## Changes
|
## Changes
|
||||||
- Add more info to WorkerInfo page
|
- Add more info to WorkerInfo page
|
||||||
- Added "next scheduled run"
|
- Added "next scheduled run"
|
||||||
|
@ -17,6 +20,7 @@
|
||||||
- `chinese` tag no longer cause reading mode to switch to LTR
|
- `chinese` tag no longer cause reading mode to switch to LTR
|
||||||
- `manhua` 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
|
- 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
|
## Fixes
|
||||||
- Fixed auto backup, auto extension update, and app update checker stop working
|
- Fixed auto backup, auto extension update, and app update checker stop working
|
||||||
|
@ -44,7 +48,7 @@
|
||||||
- More StorIO to SQLDelight migrations
|
- More StorIO to SQLDelight migrations
|
||||||
- Merge lastFetch and lastRead query into library_view VIEW
|
- Merge lastFetch and lastRead query into library_view VIEW
|
||||||
- Migrated a few more chapter related queries
|
- 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
|
- Bump dependency com.github.tachiyomiorg:unifile revision to a9de196cc7
|
||||||
- Update project to Kotlin 2.0
|
- Update project to Kotlin 2.0
|
||||||
- Update compose bom to v2024.07.00-alpha02
|
- Update compose bom to v2024.07.00-alpha02
|
||||||
|
|
|
@ -15,9 +15,6 @@ import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.preference.PreferenceScreen
|
import androidx.preference.PreferenceScreen
|
||||||
import com.hippo.unifile.UniFile
|
import com.hippo.unifile.UniFile
|
||||||
import eu.kanade.tachiyomi.R
|
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.BackupFileValidator
|
||||||
import eu.kanade.tachiyomi.data.backup.create.BackupCreatorJob
|
import eu.kanade.tachiyomi.data.backup.create.BackupCreatorJob
|
||||||
import eu.kanade.tachiyomi.data.backup.create.BackupOptions
|
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.onClick
|
||||||
import eu.kanade.tachiyomi.ui.setting.preference
|
import eu.kanade.tachiyomi.ui.setting.preference
|
||||||
import eu.kanade.tachiyomi.ui.setting.preferenceCategory
|
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.DeviceUtil
|
||||||
import eu.kanade.tachiyomi.util.system.disableItems
|
import eu.kanade.tachiyomi.util.system.disableItems
|
||||||
import eu.kanade.tachiyomi.util.system.launchIO
|
import eu.kanade.tachiyomi.util.system.launchIO
|
||||||
|
@ -52,9 +47,13 @@ import kotlinx.coroutines.flow.onEach
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import yokai.domain.storage.StorageManager
|
import yokai.domain.storage.StorageManager
|
||||||
import yokai.domain.storage.StoragePreferences
|
import yokai.domain.storage.StoragePreferences
|
||||||
|
import yokai.i18n.MR
|
||||||
|
import yokai.util.lang.getString
|
||||||
import android.R as AR
|
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() {
|
class SettingsDataLegacyController : SettingsLegacyController() {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -23,13 +23,10 @@ import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
|
||||||
import co.touchlab.kermit.Logger
|
import co.touchlab.kermit.Logger
|
||||||
import dev.icerock.moko.resources.StringResource
|
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 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.BackupFileValidator
|
||||||
import eu.kanade.tachiyomi.data.backup.create.BackupCreatorJob
|
import eu.kanade.tachiyomi.data.backup.create.BackupCreatorJob
|
||||||
import eu.kanade.tachiyomi.data.backup.restore.BackupRestoreJob
|
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 eu.kanade.tachiyomi.util.system.withUIContext
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
import kotlinx.collections.immutable.persistentMapOf
|
import kotlinx.collections.immutable.persistentMapOf
|
||||||
|
import kotlinx.collections.immutable.toImmutableMap
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import yokai.domain.storage.StorageManager
|
import yokai.domain.storage.StorageManager
|
||||||
import yokai.domain.storage.StoragePreferences
|
import yokai.domain.storage.StoragePreferences
|
||||||
|
import yokai.i18n.MR
|
||||||
import yokai.presentation.component.preference.Preference
|
import yokai.presentation.component.preference.Preference
|
||||||
import yokai.presentation.component.preference.storageLocationText
|
import yokai.presentation.component.preference.storageLocationText
|
||||||
import yokai.presentation.component.preference.widget.BasePreferenceWidget
|
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.RestoreBackup
|
||||||
import yokai.presentation.settings.screen.data.StorageInfo
|
import yokai.presentation.settings.screen.data.StorageInfo
|
||||||
import yokai.presentation.settings.screen.data.storageLocationPicker
|
import yokai.presentation.settings.screen.data.storageLocationPicker
|
||||||
|
import yokai.util.lang.getString
|
||||||
|
|
||||||
object SettingsDataScreen : ComposableSettings {
|
object SettingsDataScreen : ComposableSettings {
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -133,6 +133,8 @@ object SettingsDataScreen : ComposableSettings {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val backupInterval by preferences.backupInterval().collectAsState()
|
||||||
|
|
||||||
return Preference.PreferenceGroup(
|
return Preference.PreferenceGroup(
|
||||||
title = stringResource(MR.strings.backup_and_restore),
|
title = stringResource(MR.strings.backup_and_restore),
|
||||||
preferenceItems = persistentListOf(
|
preferenceItems = persistentListOf(
|
||||||
|
@ -218,6 +220,12 @@ object SettingsDataScreen : ComposableSettings {
|
||||||
true
|
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(
|
Preference.PreferenceItem.InfoPreference(
|
||||||
stringResource(MR.strings.backup_info)
|
stringResource(MR.strings.backup_info)
|
||||||
/*+ "\n\n" + stringResource(MR.strings.last_auto_backup_info, relativeTimeSpanString(lastAutoBackup))*/,
|
/*+ "\n\n" + stringResource(MR.strings.last_auto_backup_info, relativeTimeSpanString(lastAutoBackup))*/,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue