From 55704f02273778214dfe8d184647b12e8d8440de Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 24 Sep 2024 18:21:30 +0200 Subject: [PATCH] Less ugly code. --- .../api/local/pdf/PdfRendererManager.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/local/pdf/PdfRendererManager.kt b/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/local/pdf/PdfRendererManager.kt index 203df46aa3..255822b853 100644 --- a/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/local/pdf/PdfRendererManager.kt +++ b/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/local/pdf/PdfRendererManager.kt @@ -35,19 +35,21 @@ class PdfRendererManager( coroutineScope.launch { mutex.withLock { withContext(Dispatchers.IO) { - runCatching { + pdfRenderer = runCatching { PdfRenderer(parcelFileDescriptor) }.fold( onSuccess = { pdfRenderer -> - this@PdfRendererManager.pdfRenderer = pdfRenderer - // Preload just 3 pages so we can render faster - val firstPages = pdfRenderer.loadPages(from = 0, to = 3) - mutablePdfPages.value = AsyncData.Success(firstPages.toImmutableList()) - val nextPages = pdfRenderer.loadPages(from = 3, to = pdfRenderer.pageCount) - mutablePdfPages.value = AsyncData.Success((firstPages + nextPages).toImmutableList()) + pdfRenderer.apply { + // Preload just 3 pages so we can render faster + val firstPages = loadPages(from = 0, to = 3) + mutablePdfPages.value = AsyncData.Success(firstPages.toImmutableList()) + val nextPages = loadPages(from = 3, to = pageCount) + mutablePdfPages.value = AsyncData.Success((firstPages + nextPages).toImmutableList()) + } }, onFailure = { mutablePdfPages.value = AsyncData.Failure(it) + null } ) }