From 94b82ee40ed66426cea12061fcd34cde58c246bf Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 1 Feb 2020 11:47:48 -0800 Subject: [PATCH] Fixed blank title when refreshing metadata --- .../data/database/models/MangaImpl.kt | 17 ++++++-------- .../kanade/tachiyomi/source/model/SManga.kt | 3 ++- .../tachiyomi/source/model/SMangaImpl.kt | 23 ------------------- .../tachiyomi/ui/library/LibraryPresenter.kt | 2 +- .../ui/manga/info/MangaInfoPresenter.kt | 6 ++++- 5 files changed, 15 insertions(+), 36 deletions(-) delete mode 100644 app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaImpl.kt diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt index 273fd30c6e..e5a331bfb3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt @@ -1,7 +1,6 @@ package eu.kanade.tachiyomi.data.database.models import eu.kanade.tachiyomi.source.model.SManga -import java.lang.Exception open class MangaImpl : Manga { @@ -38,16 +37,14 @@ open class MangaImpl : Manga { override var hide_title: Boolean = false override fun copyFrom(other: SManga) { - try { - if (other.title != title) { - title = if (currentTitle() != originalTitle()) { - val customTitle = currentTitle() - val trueTitle = other.title - "${customTitle}${SManga.splitter}${trueTitle}" - } else other.title - } + if (other is MangaImpl && (other as MangaImpl)::title.isInitialized && !other.title + .isBlank()) { + title = if (currentTitle() != originalTitle()) { + val customTitle = currentTitle() + val trueTitle = other.title + "${customTitle}${SManga.splitter}${trueTitle}" + } else other.title } - catch(e: Exception) { } super.copyFrom(other) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt b/app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt index 568619511d..7ed9f339ad 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt @@ -1,5 +1,6 @@ package eu.kanade.tachiyomi.source.model +import eu.kanade.tachiyomi.data.database.models.MangaImpl import java.io.Serializable interface SManga : Serializable { @@ -100,7 +101,7 @@ interface SManga : Serializable { const val splitter = "▒ ▒∩▒" fun create(): SManga { - return SMangaImpl() + return MangaImpl() } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaImpl.kt b/app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaImpl.kt deleted file mode 100644 index 3dbba4b99b..0000000000 --- a/app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaImpl.kt +++ /dev/null @@ -1,23 +0,0 @@ -package eu.kanade.tachiyomi.source.model - -class SMangaImpl : SManga { - - override lateinit var url: String - - override lateinit var title: String - - override var artist: String? = null - - override var author: String? = null - - override var description: String? = null - - override var genre: String? = null - - override var status: Int = 0 - - override var thumbnail_url: String? = null - - override var initialized: Boolean = false - -} \ No newline at end of file diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt index 76006470c0..fd257777b9 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt @@ -247,7 +247,7 @@ class LibraryPresenter( } else -> sortAlphabetical(i1, i2) } - if ((category.mangaSort!! - 'a') % 2 == 1 ) + if ((category.mangaSort?.minus('a')) ?: 0 % 2 == 1 ) sort *= -1 sort } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.kt index f12267d518..af04e0af73 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.kt @@ -217,7 +217,11 @@ class MangaInfoPresenter( else { var changed = false val title = title?.trim() - if (title.isNullOrBlank() && manga.currentTitle() != manga.originalTitle()) { + if (!title.isNullOrBlank() && manga.originalTitle().isBlank()) { + manga.title = title + changed = true + } + else if (title.isNullOrBlank() && manga.currentTitle() != manga.originalTitle()) { manga.title = manga.originalTitle() changed = true } else if (!title.isNullOrBlank() && title != manga.currentTitle()) {