Albirew/tachiyomi
Archivé
1
0
Bifurcation 0

Fix filename not having chapter title and page when sharing (#6827)

Cette révision appartient à :
Andreas 2022-03-26 17:40:29 +01:00 révisé par GitHub
Parent c581b9eeb9
révision f8eb9f94f4
Aucune clé n'a été trouvée pour cette signature dans la base de données
ID de la clé GPG: 4AEE18F83AFDEB23

Voir le fichier

@ -565,6 +565,20 @@ class ReaderPresenter(
})
}
/**
* Generate a filename for the given [manga] and [page]
*/
private fun generateFilename(
manga: Manga,
page: ReaderPage,
): String {
val chapter = page.chapter.chapter
val filenameSuffix = " - ${page.number}"
return DiskUtil.buildValidFilename(
"${manga.title} - ${chapter.name}".takeBytes(MAX_FILE_NAME_BYTES - filenameSuffix.byteSize())
) + filenameSuffix
}
/**
* Saves the image of this [page] on the pictures directory and notifies the UI of the result.
* There's also a notification to allow sharing the image somewhere else or deleting it.
@ -577,12 +591,7 @@ class ReaderPresenter(
val notifier = SaveImageNotifier(context)
notifier.onClear()
// Generate filename
val chapter = page.chapter.chapter
val filenameSuffix = " - ${page.number}"
val filename = DiskUtil.buildValidFilename(
"${manga.title} - ${chapter.name}".takeBytes(MAX_FILE_NAME_BYTES - filenameSuffix.byteSize())
) + filenameSuffix
val filename = generateFilename(manga, page)
// Pictures directory.
val relativePath = if (preferences.folderPerManga()) DiskUtil.buildValidFilename(manga.title) else ""
@ -624,13 +633,15 @@ class ReaderPresenter(
val context = Injekt.get<Application>()
val destDir = context.cacheImageDir
val filename = generateFilename(manga, page)
try {
presenterScope.launchIO {
destDir.deleteRecursively()
val uri = imageSaver.save(
image = Image.Page(
inputStream = page.stream!!,
name = manga.title,
name = filename,
location = Location.Cache
)
)