From 3ea0b0847a22313616204c60c796e073335e2ae6 Mon Sep 17 00:00:00 2001 From: tarsin Date: Tue, 7 Mar 2023 23:20:02 +0800 Subject: [PATCH] Cleanup code filechannel is close when ios closed --- .../java/com/hippo/ehviewer/spider/SpiderDen.kt | 6 ++---- app/src/main/java/com/hippo/yorozuya/IOUtils.kt | 15 ++++----------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.kt b/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.kt index 51a6660e7..602ee0a1f 100644 --- a/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.kt +++ b/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.kt @@ -187,10 +187,8 @@ class SpiderDen(private val mGalleryInfo: GalleryInfo) { suspend fun doSave(outFile: UniFile): Long { val ret: Long - outFile.openOutputStream().use { outputStream -> - outputStream.channel.use { - ret = body.bodyAsChannel().copyTo(it) - } + outFile.openOutputStream().use { + ret = body.bodyAsChannel().copyTo(it.channel) } if (contentType == ContentType.Image.GIF) outFile.openFileDescriptor("rw").use { diff --git a/app/src/main/java/com/hippo/yorozuya/IOUtils.kt b/app/src/main/java/com/hippo/yorozuya/IOUtils.kt index 23f1da4c3..c46fd7c7d 100644 --- a/app/src/main/java/com/hippo/yorozuya/IOUtils.kt +++ b/app/src/main/java/com/hippo/yorozuya/IOUtils.kt @@ -4,16 +4,9 @@ import okhttp3.ResponseBody import java.io.File fun ResponseBody.copyToFile(file: File) { - val os = file.outputStream() - val channel = os.channel - val source = source() - try { - channel.transferFrom(source, 0, Long.MAX_VALUE) - } catch (e: Throwable) { - throw e - } finally { - source.close() - channel.close() - os.close() + file.outputStream().use { os -> + source().use { + os.channel.transferFrom(it, 0, Long.MAX_VALUE) + } } }