From 9f87192a783d6f0044d5a69e0e148a1727dcae24 Mon Sep 17 00:00:00 2001 From: Mis012 Date: Thu, 22 Jun 2023 14:35:55 +0200 Subject: [PATCH] api-impl/android/content/res/AssetManager.java: fix lack of throwing exception on failure ClassLoader.getResourceAsStream() eats the IOException, so we need to throw a new one when it returns null. We also report the errno we got from openAsset. --- src/api-impl/android/content/res/AssetManager.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/api-impl/android/content/res/AssetManager.java b/src/api-impl/android/content/res/AssetManager.java index 75329d8b..fef78db6 100644 --- a/src/api-impl/android/content/res/AssetManager.java +++ b/src/api-impl/android/content/res/AssetManager.java @@ -343,7 +343,11 @@ public final class AssetManager { } } // alternatively load directly from APK - return ClassLoader.getSystemClassLoader().getResourceAsStream("assets/" + fileName); + InputStream ret = ClassLoader.getSystemClassLoader().getResourceAsStream("assets/" + fileName); + if(ret == null) + throw new FileNotFoundException("Asset file: " + fileName + ", errno: " + asset); + + return ret; } public final AssetFileDescriptor openFd(String fileName)