From 1e648cc6b4128080d345aea3fe83aafc63d101c5 Mon Sep 17 00:00:00 2001 From: tarsin Date: Mon, 21 Nov 2022 12:15:23 +0800 Subject: [PATCH] Nullability checks extractToByteBuffer may return null object for some reason --- app/src/main/java/com/hippo/UriArchiveAccessor.kt | 2 +- .../ehviewer/gallery/ArchiveGalleryProvider.java | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/hippo/UriArchiveAccessor.kt b/app/src/main/java/com/hippo/UriArchiveAccessor.kt index 04f1bf613..06aec15d9 100644 --- a/app/src/main/java/com/hippo/UriArchiveAccessor.kt +++ b/app/src/main/java/com/hippo/UriArchiveAccessor.kt @@ -28,7 +28,7 @@ class UriArchiveAccessor(ctx: Context, uri: Uri) { } private external fun openArchive(fd: Int, size: Long): Int - external fun extractToByteBuffer(index: Int): ByteBuffer + external fun extractToByteBuffer(index: Int): ByteBuffer? external fun releaseByteBuffer(buffer: ByteBuffer) external fun extractToFd(index: Int, fd: Int) diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/ArchiveGalleryProvider.java b/app/src/main/java/com/hippo/ehviewer/gallery/ArchiveGalleryProvider.java index 49c5e29f5..bbe9c857e 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/ArchiveGalleryProvider.java +++ b/app/src/main/java/com/hippo/ehviewer/gallery/ArchiveGalleryProvider.java @@ -333,11 +333,13 @@ public class ArchiveGalleryProvider extends GalleryProvider2 { buffer = entry.getValue(); } - Image image; - image = Image.decode(buffer, false, () -> { - archiveAccessor.releaseByteBuffer(buffer); - return null; - }); + Image image = null; + if (buffer != null) { + image = Image.decode(buffer, false, () -> { + archiveAccessor.releaseByteBuffer(buffer); + return null; + }); + } if (image != null) { notifyPageSucceed(index, image); } else {