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
|
## Other ?? Technical stuff, what happened behind the scene
|
||||||
-->
|
-->
|
||||||
## Fixes
|
## Fixes
|
||||||
- Fixed "Open source repo" icon's colour
|
- Fixed incompatibility with J2K backup file
|
||||||
|
|
|
@ -47,7 +47,7 @@ android {
|
||||||
targetSdk = AndroidConfig.targetSdk
|
targetSdk = AndroidConfig.targetSdk
|
||||||
applicationId = "eu.kanade.tachiyomi"
|
applicationId = "eu.kanade.tachiyomi"
|
||||||
versionCode = 139
|
versionCode = 139
|
||||||
versionName = "1.8.4.3"
|
versionName = "1.8.4.4"
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
multiDexEnabled = true
|
multiDexEnabled = true
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,16 @@ class BasePreferences(private val preferenceStore: PreferenceStore) {
|
||||||
SHIZUKU(R.string.ext_installer_shizuku, false),
|
SHIZUKU(R.string.ext_installer_shizuku, false),
|
||||||
PRIVATE(R.string.ext_installer_private, 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
|
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", "")
|
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.PreferenceStore
|
||||||
import eu.kanade.tachiyomi.core.preference.getEnum
|
import eu.kanade.tachiyomi.core.preference.getEnum
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||||
|
import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerConfig
|
||||||
|
|
||||||
class ReaderPreferences(private val preferenceStore: PreferenceStore) {
|
class ReaderPreferences(private val preferenceStore: PreferenceStore) {
|
||||||
fun cutoutShort() = preferenceStore.getBoolean("cutout_short", true)
|
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
|
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
|
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
|
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) {
|
enum class LandscapeCutoutBehaviour(@StringRes val titleResId: Int) {
|
||||||
HIDE(R.string.pad_cutout_areas), // Similar to CUTOUT_MODE_NEVER / J2K's pad
|
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
|
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()
|
val basePreferences: BasePreferences = Injekt.get()
|
||||||
try {
|
try {
|
||||||
val oldExtensionInstall = prefs.getInt("extension_installer", 0)
|
val oldExtensionInstall = prefs.getInt("extension_installer", 0)
|
||||||
basePreferences.extensionInstaller().set(
|
basePreferences.extensionInstaller().set(BasePreferences.ExtensionInstaller.migrate(oldExtensionInstall))
|
||||||
when (oldExtensionInstall) {
|
|
||||||
1 -> BasePreferences.ExtensionInstaller.SHIZUKU
|
|
||||||
2 -> BasePreferences.ExtensionInstaller.PRIVATE
|
|
||||||
else -> BasePreferences.ExtensionInstaller.PACKAGEINSTALLER
|
|
||||||
}
|
|
||||||
)
|
|
||||||
} catch (_: Exception) {
|
} catch (_: Exception) {
|
||||||
basePreferences.extensionInstaller().set(BasePreferences.ExtensionInstaller.PACKAGEINSTALLER)
|
basePreferences.extensionInstaller().set(BasePreferences.ExtensionInstaller.PACKAGEINSTALLER)
|
||||||
}
|
}
|
||||||
|
@ -289,25 +283,14 @@ object Migrations {
|
||||||
val readerPreferences: ReaderPreferences = Injekt.get()
|
val readerPreferences: ReaderPreferences = Injekt.get()
|
||||||
try {
|
try {
|
||||||
val oldCutoutBehaviour = prefs.getInt(PreferenceKeys.pagerCutoutBehavior, 0)
|
val oldCutoutBehaviour = prefs.getInt(PreferenceKeys.pagerCutoutBehavior, 0)
|
||||||
readerPreferences.pagerCutoutBehavior().set(
|
readerPreferences.pagerCutoutBehavior().set(CutoutBehaviour.migrate(oldCutoutBehaviour))
|
||||||
when (oldCutoutBehaviour) {
|
|
||||||
PagerConfig.CUTOUT_PAD -> CutoutBehaviour.HIDE
|
|
||||||
PagerConfig.CUTOUT_IGNORE -> CutoutBehaviour.IGNORE
|
|
||||||
else -> CutoutBehaviour.SHOW
|
|
||||||
}
|
|
||||||
)
|
|
||||||
} catch (_: Exception) {
|
} catch (_: Exception) {
|
||||||
readerPreferences.pagerCutoutBehavior().set(CutoutBehaviour.SHOW)
|
readerPreferences.pagerCutoutBehavior().set(CutoutBehaviour.SHOW)
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
val oldCutoutBehaviour = prefs.getInt("landscape_cutout_behavior", 0)
|
val oldCutoutBehaviour = prefs.getInt("landscape_cutout_behavior", 0)
|
||||||
readerPreferences.landscapeCutoutBehavior().set(
|
readerPreferences.landscapeCutoutBehavior().set(LandscapeCutoutBehaviour.migrate(oldCutoutBehaviour))
|
||||||
when (oldCutoutBehaviour) {
|
|
||||||
0 -> LandscapeCutoutBehaviour.HIDE
|
|
||||||
else -> LandscapeCutoutBehaviour.DEFAULT
|
|
||||||
}
|
|
||||||
)
|
|
||||||
} catch (_: Exception) {
|
} catch (_: Exception) {
|
||||||
readerPreferences.landscapeCutoutBehavior().set(LandscapeCutoutBehaviour.DEFAULT)
|
readerPreferences.landscapeCutoutBehavior().set(LandscapeCutoutBehaviour.DEFAULT)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
package eu.kanade.tachiyomi.data.backup.restore.restorers
|
package eu.kanade.tachiyomi.data.backup.restore.restorers
|
||||||
|
|
||||||
import android.content.Context
|
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.AndroidPreferenceStore
|
||||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
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.create.BackupCreatorJob
|
||||||
import eu.kanade.tachiyomi.data.backup.models.BackupPreference
|
import eu.kanade.tachiyomi.data.backup.models.BackupPreference
|
||||||
import eu.kanade.tachiyomi.data.backup.models.BackupSourcePreferences
|
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.StringPreferenceValue
|
||||||
import eu.kanade.tachiyomi.data.backup.models.StringSetPreferenceValue
|
import eu.kanade.tachiyomi.data.backup.models.StringSetPreferenceValue
|
||||||
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
||||||
|
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||||
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
|
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
|
||||||
import eu.kanade.tachiyomi.source.sourcePreferences
|
import eu.kanade.tachiyomi.source.sourcePreferences
|
||||||
import eu.kanade.tachiyomi.ui.library.LibrarySort
|
import eu.kanade.tachiyomi.ui.library.LibrarySort
|
||||||
|
@ -56,6 +60,26 @@ class PreferenceBackupRestorer(
|
||||||
}
|
}
|
||||||
// end j2k fork differences
|
// 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) {
|
when (value) {
|
||||||
is IntPreferenceValue -> {
|
is IntPreferenceValue -> {
|
||||||
if (prefs[key] is Int?) {
|
if (prefs[key] is Int?) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue