From 85aa7eb43f04a8875200a4dbb055f58ff008132c Mon Sep 17 00:00:00 2001 From: Ivan Date: Fri, 14 Aug 2026 13:23:34 -0500 Subject: [PATCH] fix: improve firmware file reading method in RNodeFlasherActivity for better performance and reliability --- .../meshchatx/rnode/RNodeFlasherActivity.java | 9 ++++++++- meshchatx.rsm | Bin 193802 -> 193802 bytes 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/java/com/meshchatx/rnode/RNodeFlasherActivity.java b/android/app/src/main/java/com/meshchatx/rnode/RNodeFlasherActivity.java index a24de5f6..f7ea2bc3 100644 --- a/android/app/src/main/java/com/meshchatx/rnode/RNodeFlasherActivity.java +++ b/android/app/src/main/java/com/meshchatx/rnode/RNodeFlasherActivity.java @@ -26,6 +26,7 @@ import androidx.core.content.ContextCompat; import com.meshchatx.AppSettingsLauncher; import com.meshchatx.R; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; @@ -340,7 +341,13 @@ public final class RNodeFlasherActivity extends AppCompatActivity implements Usb if (in == null) { throw new IllegalStateException("Could not open firmware file"); } - bytes = in.readAllBytes(); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + byte[] buf = new byte[8192]; + int n; + while ((n = in.read(buf)) != -1) { + out.write(buf, 0, n); + } + bytes = out.toByteArray(); } String rawName = uri.getLastPathSegment(); final String name = (rawName == null || rawName.isEmpty()) ? "firmware.zip" : rawName; diff --git a/meshchatx.rsm b/meshchatx.rsm index af7d62247717256a04718a687b55df7d1b836992..5bec4980a5de117be16162b3f873f567ce79f779 100644 GIT binary patch delta 197 zcmV;$06PDQ>I;hM3qU3?JLJbzAay1%HLCy6-T6p<#Mjdpllc@_Lq!VW^2 zBK9fP_=ltEP(;{=gF7$C)v*JZOQ642r(A?{hVo~uV(^^=pK z=B;mHiiHs5eaEqQx-CFtFk)gkG+{VpH!(OhIbmfoI5sylGiEtsH8nY7F=aAgH)LTo zGcYqUFfd^=Vl_B9F*##0WMMWrV_{)tF*9Y8Q7bBwkSzv-qArJ`E&;cqE&^!AUOZ1g delta 197 zcmV;$06PDQ>I;hM3qZMkQYQLep15n|7Rkn z8g*Fuv6f{X^rRosg@YONS9Q!k_@)~nLjjRM7$8fD4eaX;m@oFgH)Bv z`