From efbe556d6f716edd53767251910103834b20502a Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Tue, 3 Oct 2023 21:16:27 +0800 Subject: [PATCH] fix asset:// URIs on Android --- .../app/polyvox/filament/PolyvoxFilamentPlugin.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/android/src/main/kotlin/app/polyvox/filament/PolyvoxFilamentPlugin.kt b/android/src/main/kotlin/app/polyvox/filament/PolyvoxFilamentPlugin.kt index 737e7b80..1e8e9aa7 100644 --- a/android/src/main/kotlin/app/polyvox/filament/PolyvoxFilamentPlugin.kt +++ b/android/src/main/kotlin/app/polyvox/filament/PolyvoxFilamentPlugin.kt @@ -98,20 +98,24 @@ class PolyvoxFilamentPlugin: FlutterPlugin, MethodCallHandler, ActivityAware, Lo if(path!!.startsWith("file://")) { data = File(path!!.substring(6)).readBytes() } else { + var assetPath = path + if(assetPath.startsWith("asset://")) { + assetPath = assetPath!!.substring(8) + } val loader = FlutterInjector.instance().flutterLoader() - val key = loader.getLookupKeyForAsset(path) + val key = loader.getLookupKeyForAsset(assetPath) val hotReloadPath = HotReloadPathHelper.getAssetPath(key, activity.getPackageName()) if (hotReloadPath != null) { data = File(hotReloadPath).readBytes() } else { - Log.i("polyvox_filament", "Loading resource from main asset bundle") + Log.i("polyvox_filament", "Loading resource from main asset bundle at ${assetPath}") val assetManager: AssetManager = activity.assets try { data = assetManager.open(key).readBytes() Log.i("polyvox_filament", "Loaded ${data.size} bytes") } catch (e:Exception) { - Log.e("polyvox_filament", "Failed to open asset at ${path}", null) + Log.e("polyvox_filament", "Failed to open asset at ${assetPath}", null) } } }