Avoid attempts to renaming download dirs if name hasn't actually changed

Maybe fixes #9503
This commit is contained in:
arkon 2023-05-14 12:24:40 -04:00
parent a3a9c8ac8e
commit fb38d30775
3 changed files with 10 additions and 6 deletions

View file

@ -303,9 +303,11 @@ class DownloadManager(
val oldFolder = provider.findSourceDir(oldSource) ?: return val oldFolder = provider.findSourceDir(oldSource) ?: return
val newName = provider.getSourceDirName(newSource) val newName = provider.getSourceDirName(newSource)
if (oldFolder.name == newName) return
val capitalizationChanged = oldFolder.name.equals(newName, ignoreCase = true) val capitalizationChanged = oldFolder.name.equals(newName, ignoreCase = true)
if (capitalizationChanged) { if (capitalizationChanged) {
val tempName = newName + "_tmp" val tempName = newName + Downloader.TMP_DIR_SUFFIX
if (oldFolder.renameTo(tempName).not()) { if (oldFolder.renameTo(tempName).not()) {
logcat(LogPriority.ERROR) { "Failed to rename source download folder: ${oldFolder.name}" } logcat(LogPriority.ERROR) { "Failed to rename source download folder: ${oldFolder.name}" }
return return
@ -339,6 +341,8 @@ class DownloadManager(
newName += ".cbz" newName += ".cbz"
} }
if (oldDownload.name == newName) return
if (oldDownload.renameTo(newName)) { if (oldDownload.renameTo(newName)) {
cache.removeChapter(oldChapter, manga) cache.removeChapter(oldChapter, manga)
cache.addChapter(newName, mangaDir, manga) cache.addChapter(newName, mangaDir, manga)

View file

@ -110,6 +110,6 @@ class AndroidSourceManager(
registerStubSource(it) registerStubSource(it)
return it return it
} }
return StubSource(id, "", "") return StubSource(id = id, lang = "", name = "")
} }
} }

View file

@ -5,14 +5,14 @@ import tachiyomi.domain.source.model.StubSource
val sourceMapper: (eu.kanade.tachiyomi.source.Source) -> Source = { source -> val sourceMapper: (eu.kanade.tachiyomi.source.Source) -> Source = { source ->
Source( Source(
source.id, id = source.id,
source.lang, lang = source.lang,
source.name, name = source.name,
supportsLatest = false, supportsLatest = false,
isStub = false, isStub = false,
) )
} }
val sourceDataMapper: (Long, String, String) -> StubSource = { id, lang, name -> val sourceDataMapper: (Long, String, String) -> StubSource = { id, lang, name ->
StubSource(id, lang, name) StubSource(id = id, lang = lang, name = name)
} }