mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Delete file when exception is thrown
This commit is contained in:
		| @@ -258,16 +258,17 @@ class DownloadManager(private val context: Context, private val sourceManager: S | ||||
|     private fun downloadImage(page: Page, source: OnlineSource, directory: File, filename: String): Observable<Page> { | ||||
|         page.status = Page.DOWNLOAD_IMAGE | ||||
|         return source.imageResponse(page) | ||||
|                 .flatMap { | ||||
|                 .map { | ||||
|                     val file = File(directory, filename) | ||||
|                     try { | ||||
|                         val file = File(directory, filename) | ||||
|                         file.parentFile.mkdirs() | ||||
|                         it.body().source().saveImageTo(file.outputStream(), preferences.reencodeImage()) | ||||
|                     } catch (e: Exception) { | ||||
|                         it.body().close() | ||||
|                         it.close() | ||||
|                         file.delete() | ||||
|                         throw e | ||||
|                     } | ||||
|                     Observable.just(page) | ||||
|                     page | ||||
|                 } | ||||
|                 .retryWhen { | ||||
|                     it.zipWith(Observable.range(1, 3)) { errors, retries -> retries } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user