From 5cdda7b7373a31bf450d888cea9a7ed5a769760a Mon Sep 17 00:00:00 2001 From: Sebastian Penafiel Date: Wed, 28 Aug 2024 09:31:06 +0200 Subject: [PATCH] fix: android release mode assets --- .../java/com/margelo/filament/FilamentProxy.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/package/android/src/main/java/com/margelo/filament/FilamentProxy.java b/package/android/src/main/java/com/margelo/filament/FilamentProxy.java index 624c12d1..775ab44e 100644 --- a/package/android/src/main/java/com/margelo/filament/FilamentProxy.java +++ b/package/android/src/main/java/com/margelo/filament/FilamentProxy.java @@ -155,10 +155,18 @@ ByteBuffer loadAsset(String uriString) throws Exception { } } - // It's bundled into the Android resources/assets Log.i(NAME, "Assumed assetName: " + uriString); - try (InputStream stream = reactContext.getAssets().open(uriString)) { - return streamToDirectByteBuffer(stream); + int rawResourceId = reactContext.getResources().getIdentifier(uriString, "raw", reactContext.getPackageName()); + // It's bundled into the Android resources/assets + if (rawResourceId == 0) { + try (InputStream stream = reactContext.getAssets().open(uriString)) { + return streamToDirectByteBuffer(stream); + } + // For assets bundled with 'require' instead of linked, they are bundled into `res/raw` in release mode + } else { + try (InputStream stream = reactContext.getResources().openRawResource(rawResourceId)) { + return streamToDirectByteBuffer(stream); + } } }