From d9ce86aca66945c831670a1523d8bc69966312df Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Wed, 14 Oct 2020 15:19:09 -0400 Subject: [PATCH] Dedupe some code, move over read and bookmarks properly --- .../data/backup/full/FullBackupManager.kt | 25 +++++++++++++------ .../data/backup/legacy/LegacyBackupManager.kt | 6 ----- .../backup/models/AbstractBackupManager.kt | 10 ++++++++ 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt index 778b4d741..b24654c16 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt @@ -54,16 +54,9 @@ import kotlin.math.max @OptIn(ExperimentalSerializationApi::class) class FullBackupManager(val context: Context) : AbstractBackupManager() { - - internal val databaseHelper: DatabaseHelper by injectLazy() - internal val sourceManager: SourceManager by injectLazy() - internal val trackManager: TrackManager by injectLazy() - private val preferences: PreferencesHelper by injectLazy() - /** * Parser */ - val parser = ProtoBuf /** @@ -458,6 +451,15 @@ class FullBackupManager(val context: Context) : AbstractBackupManager() { val dbChapter = dbChapters[pos] chapter.id = dbChapter.id chapter.copyFrom(dbChapter) + if (dbChapter.read && !chapter.read) { + chapter.read = dbChapter.read + chapter.last_page_read = dbChapter.last_page_read + } else if (chapter.last_page_read == 0 && dbChapter.last_page_read != 0) { + chapter.last_page_read = dbChapter.last_page_read + } + if (!chapter.bookmark && dbChapter.bookmark) { + chapter.bookmark = dbChapter.bookmark + } } } // Filter the chapters that couldn't be found. @@ -477,6 +479,15 @@ class FullBackupManager(val context: Context) : AbstractBackupManager() { val dbChapter = dbChapters[pos] chapter.id = dbChapter.id chapter.copyFrom(dbChapter) + if (dbChapter.read && !chapter.read) { + chapter.read = dbChapter.read + chapter.last_page_read = dbChapter.last_page_read + } else if (chapter.last_page_read == 0 && dbChapter.last_page_read != 0) { + chapter.last_page_read = dbChapter.last_page_read + } + if (!chapter.bookmark && dbChapter.bookmark) { + chapter.bookmark = dbChapter.bookmark + } } } chapters.map { it.manga_id = manga.id } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupManager.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupManager.kt index 8cc1a87ae..88f886448 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupManager.kt @@ -76,12 +76,6 @@ import java.lang.RuntimeException import kotlin.math.max class LegacyBackupManager(val context: Context, version: Int = CURRENT_VERSION) : AbstractBackupManager() { - - internal val databaseHelper: DatabaseHelper by injectLazy() - internal val sourceManager: SourceManager by injectLazy() - internal val trackManager: TrackManager by injectLazy() - private val preferences: PreferencesHelper by injectLazy() - /** * Version of parser */ diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/AbstractBackupManager.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/AbstractBackupManager.kt index 40353f38e..0c5b5e2f5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/AbstractBackupManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/AbstractBackupManager.kt @@ -1,7 +1,17 @@ package eu.kanade.tachiyomi.data.backup.models import android.net.Uri +import eu.kanade.tachiyomi.data.database.DatabaseHelper +import eu.kanade.tachiyomi.data.preference.PreferencesHelper +import eu.kanade.tachiyomi.data.track.TrackManager +import eu.kanade.tachiyomi.source.SourceManager +import uy.kohesive.injekt.injectLazy abstract class AbstractBackupManager { + internal val databaseHelper: DatabaseHelper by injectLazy() + internal val sourceManager: SourceManager by injectLazy() + internal val trackManager: TrackManager by injectLazy() + protected val preferences: PreferencesHelper by injectLazy() + abstract fun createBackup(uri: Uri, flags: Int, isJob: Boolean): String? }