| 
					
				 | 
			
			
				@@ -4,6 +4,7 @@ import eu.kanade.tachiyomi.data.cache.CoverCache 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import eu.kanade.tachiyomi.data.database.DatabaseHelper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import eu.kanade.tachiyomi.data.database.models.Manga 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import eu.kanade.tachiyomi.source.LocalSource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import eu.kanade.tachiyomi.source.model.SManga 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Date 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fun Manga.isLocal() = source == LocalSource.ID 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -11,14 +12,30 @@ fun Manga.isLocal() = source == LocalSource.ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Call before updating [Manga.thumbnail_url] to ensure old cover can be cleared from cache 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fun Manga.prepUpdateCover(coverCache: CoverCache) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    cover_last_modified = Date().time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fun Manga.prepUpdateCover(coverCache: CoverCache, remoteManga: SManga, refreshSameUrl: Boolean) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Never refresh covers if the new url is null, as the current url has possibly become invalid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    val newUrl = remoteManga.thumbnail_url ?: return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!refreshSameUrl && thumbnail_url == newUrl) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!isLocal()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        coverCache.deleteFromCache(this, false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    when { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        isLocal() -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cover_last_modified = Date().time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        hasCustomCover(coverCache) -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            coverCache.deleteFromCache(this, false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cover_last_modified = Date().time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            coverCache.deleteFromCache(this, false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fun Manga.hasCustomCover(coverCache: CoverCache): Boolean { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return coverCache.getCustomCoverFile(this).exists() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fun Manga.removeCovers(coverCache: CoverCache) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (isLocal()) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |