Эх сурвалжийг харах

Chapter Metadata update (#1257)

* change chapter update to refresh on any metadata change

* moved check into private function
Carlos 7 жил өмнө
parent
commit
9194dc0161

+ 17 - 7
app/src/main/java/eu/kanade/tachiyomi/util/ChapterSourceSync.kt

@@ -49,13 +49,16 @@ fun syncChaptersWithSource(db: DatabaseHelper,
         // Add the chapter if not in db already, or update if the metadata changed.
         if (dbChapter == null) {
             toAdd.add(sourceChapter)
-        } else if (dbChapter.scanlator != sourceChapter.scanlator ||
-                dbChapter.name != sourceChapter.name) {
-
-            dbChapter.scanlator = sourceChapter.scanlator
-            dbChapter.name = sourceChapter.name
-
-            toChange.add(dbChapter)
+        } else {
+            //this forces metadata update for the main viewable things in the chapter list
+            ChapterRecognition.parseChapterNumber(sourceChapter, manga)
+            if (shouldUpdateDbChapter(dbChapter, sourceChapter)) {
+                dbChapter.scanlator = sourceChapter.scanlator
+                dbChapter.name = sourceChapter.name
+                dbChapter.date_upload = sourceChapter.date_upload
+                dbChapter.chapter_number = sourceChapter.chapter_number
+                toChange.add(dbChapter)
+            }
         }
     }
 
@@ -123,3 +126,10 @@ fun syncChaptersWithSource(db: DatabaseHelper,
     return Pair(toAdd.subtract(readded).toList(), toDelete.subtract(readded).toList())
 
 }
+
+//checks if the chapter in db needs updated
+private fun shouldUpdateDbChapter(dbChapter: Chapter, sourceChapter: SChapter): Boolean {
+    return dbChapter.scanlator != sourceChapter.scanlator || dbChapter.name != sourceChapter.name ||
+            dbChapter.date_upload != sourceChapter.date_upload ||
+            dbChapter.chapter_number != sourceChapter.chapter_number
+}