mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
fix: Handle compatibility issue with J2K backup file
This commit is contained in:
parent
32f1d677f2
commit
8dc0938581
6 changed files with 59 additions and 22 deletions
|
@ -8,4 +8,4 @@
|
|||
## Other ?? Technical stuff, what happened behind the scene
|
||||
-->
|
||||
## Fixes
|
||||
- Fixed "Open source repo" icon's colour
|
||||
- Fixed incompatibility with J2K backup file
|
||||
|
|
|
@ -47,7 +47,7 @@ android {
|
|||
targetSdk = AndroidConfig.targetSdk
|
||||
applicationId = "eu.kanade.tachiyomi"
|
||||
versionCode = 139
|
||||
versionName = "1.8.4.3"
|
||||
versionName = "1.8.4.4"
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
multiDexEnabled = true
|
||||
|
||||
|
|
|
@ -15,6 +15,16 @@ class BasePreferences(private val preferenceStore: PreferenceStore) {
|
|||
SHIZUKU(R.string.ext_installer_shizuku, false),
|
||||
PRIVATE(R.string.ext_installer_private, false),
|
||||
LEGACY(R.string.ext_installer_legacy, true), // Technically useless, but just in case it being missing crashes the app
|
||||
;
|
||||
|
||||
companion object {
|
||||
fun migrate(oldValue: Int) =
|
||||
when (oldValue) {
|
||||
1 -> BasePreferences.ExtensionInstaller.SHIZUKU
|
||||
2 -> BasePreferences.ExtensionInstaller.PRIVATE
|
||||
else -> BasePreferences.ExtensionInstaller.PACKAGEINSTALLER
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun displayProfile() = preferenceStore.getString("pref_display_profile_key", "")
|
||||
|
|
|
@ -5,6 +5,7 @@ import eu.kanade.tachiyomi.R
|
|||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||
import eu.kanade.tachiyomi.core.preference.getEnum
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerConfig
|
||||
|
||||
class ReaderPreferences(private val preferenceStore: PreferenceStore) {
|
||||
fun cutoutShort() = preferenceStore.getBoolean("cutout_short", true)
|
||||
|
@ -17,10 +18,29 @@ class ReaderPreferences(private val preferenceStore: PreferenceStore) {
|
|||
HIDE(R.string.pad_cutout_areas), // Similar to CUTOUT_MODE_NEVER / J2K's pad
|
||||
SHOW(R.string.start_past_cutout), // Similar to CUTOUT_MODE_SHORT_EDGES / J2K's start past
|
||||
IGNORE(R.string.cutout_ignore), // Similar to CUTOUT_MODE_DEFAULT / J2K's ignore
|
||||
;
|
||||
|
||||
companion object {
|
||||
fun migrate(oldValue: Int) =
|
||||
when (oldValue) {
|
||||
PagerConfig.CUTOUT_PAD -> CutoutBehaviour.HIDE
|
||||
PagerConfig.CUTOUT_IGNORE -> CutoutBehaviour.IGNORE
|
||||
else -> CutoutBehaviour.SHOW
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
enum class LandscapeCutoutBehaviour(@StringRes val titleResId: Int) {
|
||||
HIDE(R.string.pad_cutout_areas), // Similar to CUTOUT_MODE_NEVER / J2K's pad
|
||||
DEFAULT(R.string.cutout_ignore), // Similar to CUTOUT_MODE_SHORT_EDGES / J2K's ignore
|
||||
;
|
||||
|
||||
companion object {
|
||||
fun migrate(oldValue: Int) =
|
||||
when (oldValue) {
|
||||
0 -> LandscapeCutoutBehaviour.HIDE
|
||||
else -> LandscapeCutoutBehaviour.DEFAULT
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -274,13 +274,7 @@ object Migrations {
|
|||
val basePreferences: BasePreferences = Injekt.get()
|
||||
try {
|
||||
val oldExtensionInstall = prefs.getInt("extension_installer", 0)
|
||||
basePreferences.extensionInstaller().set(
|
||||
when (oldExtensionInstall) {
|
||||
1 -> BasePreferences.ExtensionInstaller.SHIZUKU
|
||||
2 -> BasePreferences.ExtensionInstaller.PRIVATE
|
||||
else -> BasePreferences.ExtensionInstaller.PACKAGEINSTALLER
|
||||
}
|
||||
)
|
||||
basePreferences.extensionInstaller().set(BasePreferences.ExtensionInstaller.migrate(oldExtensionInstall))
|
||||
} catch (_: Exception) {
|
||||
basePreferences.extensionInstaller().set(BasePreferences.ExtensionInstaller.PACKAGEINSTALLER)
|
||||
}
|
||||
|
@ -289,25 +283,14 @@ object Migrations {
|
|||
val readerPreferences: ReaderPreferences = Injekt.get()
|
||||
try {
|
||||
val oldCutoutBehaviour = prefs.getInt(PreferenceKeys.pagerCutoutBehavior, 0)
|
||||
readerPreferences.pagerCutoutBehavior().set(
|
||||
when (oldCutoutBehaviour) {
|
||||
PagerConfig.CUTOUT_PAD -> CutoutBehaviour.HIDE
|
||||
PagerConfig.CUTOUT_IGNORE -> CutoutBehaviour.IGNORE
|
||||
else -> CutoutBehaviour.SHOW
|
||||
}
|
||||
)
|
||||
readerPreferences.pagerCutoutBehavior().set(CutoutBehaviour.migrate(oldCutoutBehaviour))
|
||||
} catch (_: Exception) {
|
||||
readerPreferences.pagerCutoutBehavior().set(CutoutBehaviour.SHOW)
|
||||
}
|
||||
|
||||
try {
|
||||
val oldCutoutBehaviour = prefs.getInt("landscape_cutout_behavior", 0)
|
||||
readerPreferences.landscapeCutoutBehavior().set(
|
||||
when (oldCutoutBehaviour) {
|
||||
0 -> LandscapeCutoutBehaviour.HIDE
|
||||
else -> LandscapeCutoutBehaviour.DEFAULT
|
||||
}
|
||||
)
|
||||
readerPreferences.landscapeCutoutBehavior().set(LandscapeCutoutBehaviour.migrate(oldCutoutBehaviour))
|
||||
} catch (_: Exception) {
|
||||
readerPreferences.landscapeCutoutBehavior().set(LandscapeCutoutBehaviour.DEFAULT)
|
||||
}
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
package eu.kanade.tachiyomi.data.backup.restore.restorers
|
||||
|
||||
import android.content.Context
|
||||
import dev.yokai.domain.base.BasePreferences
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences
|
||||
import eu.kanade.tachiyomi.core.preference.AndroidPreferenceStore
|
||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||
import eu.kanade.tachiyomi.core.preference.getEnum
|
||||
import eu.kanade.tachiyomi.data.backup.create.BackupCreatorJob
|
||||
import eu.kanade.tachiyomi.data.backup.models.BackupPreference
|
||||
import eu.kanade.tachiyomi.data.backup.models.BackupSourcePreferences
|
||||
|
@ -13,6 +16,7 @@ import eu.kanade.tachiyomi.data.backup.models.LongPreferenceValue
|
|||
import eu.kanade.tachiyomi.data.backup.models.StringPreferenceValue
|
||||
import eu.kanade.tachiyomi.data.backup.models.StringSetPreferenceValue
|
||||
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
|
||||
import eu.kanade.tachiyomi.source.sourcePreferences
|
||||
import eu.kanade.tachiyomi.ui.library.LibrarySort
|
||||
|
@ -56,6 +60,26 @@ class PreferenceBackupRestorer(
|
|||
}
|
||||
// end j2k fork differences
|
||||
|
||||
// << Yokai-J2K compat
|
||||
if (key == "extension_installer" && value is IntPreferenceValue) {
|
||||
val enum = BasePreferences.ExtensionInstaller.migrate(value.value)
|
||||
preferenceStore.getEnum(key, enum).set(enum)
|
||||
return@forEach
|
||||
}
|
||||
|
||||
if (key == PreferenceKeys.pagerCutoutBehavior && value is IntPreferenceValue) {
|
||||
val enum = ReaderPreferences.CutoutBehaviour.migrate(value.value)
|
||||
preferenceStore.getEnum(key, enum).set(enum)
|
||||
return@forEach
|
||||
}
|
||||
|
||||
if (key == "landscape_cutout_behavior" && value is IntPreferenceValue) {
|
||||
val enum = ReaderPreferences.LandscapeCutoutBehaviour.migrate(value.value)
|
||||
preferenceStore.getEnum(key, enum).set(enum)
|
||||
return@forEach
|
||||
}
|
||||
// >> Yokai-J2K compat
|
||||
|
||||
when (value) {
|
||||
is IntPreferenceValue -> {
|
||||
if (prefs[key] is Int?) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue