mirror of
https://github.com/aniyomiorg/aniyomi.git
synced 2024-12-23 05:40:38 +03:00
8994b42760
* Remove local broadcast receiver to prevent run exceptions. Added option to set tile for extension update.
63 lines
No EOL
2.3 KiB
Kotlin
63 lines
No EOL
2.3 KiB
Kotlin
package eu.kanade.tachiyomi
|
|
|
|
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
import eu.kanade.tachiyomi.data.preference.getOrDefault
|
|
import eu.kanade.tachiyomi.data.updater.UpdaterJob
|
|
import java.io.File
|
|
|
|
object Migrations {
|
|
|
|
/**
|
|
* Performs a migration when the application is updated.
|
|
*
|
|
* @param preferences Preferences of the application.
|
|
* @return true if a migration is performed, false otherwise.
|
|
*/
|
|
fun upgrade(preferences: PreferencesHelper): Boolean {
|
|
val context = preferences.context
|
|
val oldVersion = preferences.lastVersionCode().getOrDefault()
|
|
if (oldVersion < BuildConfig.VERSION_CODE) {
|
|
preferences.lastVersionCode().set(BuildConfig.VERSION_CODE)
|
|
|
|
if (oldVersion == 0) return false
|
|
|
|
if (oldVersion < 14) {
|
|
// Restore jobs after upgrading to evernote's job scheduler.
|
|
if (BuildConfig.INCLUDE_UPDATER && preferences.automaticUpdates()) {
|
|
UpdaterJob.setupTask()
|
|
}
|
|
LibraryUpdateJob.setupTask()
|
|
}
|
|
if (oldVersion < 15) {
|
|
// Delete internal chapter cache dir.
|
|
File(context.cacheDir, "chapter_disk_cache").deleteRecursively()
|
|
}
|
|
if (oldVersion < 19) {
|
|
// Move covers to external files dir.
|
|
val oldDir = File(context.externalCacheDir, "cover_disk_cache")
|
|
if (oldDir.exists()) {
|
|
val destDir = context.getExternalFilesDir("covers")
|
|
if (destDir != null) {
|
|
oldDir.listFiles().forEach {
|
|
it.renameTo(File(destDir, it.name))
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (oldVersion < 26) {
|
|
// Delete external chapter cache dir.
|
|
val extCache = context.externalCacheDir
|
|
if (extCache != null) {
|
|
val chapterCache = File(extCache, "chapter_disk_cache")
|
|
if (chapterCache.exists()) {
|
|
chapterCache.deleteRecursively()
|
|
}
|
|
}
|
|
}
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
|
|
} |