From aecde4e6dd9990c536feb5b1da1c49692ab02e5a Mon Sep 17 00:00:00 2001 From: nomo-fe Date: Mon, 20 Jan 2025 18:24:27 +0100 Subject: [PATCH 1/5] fix(android): prevent OOM-crashes when selecting large files --- .../main/java/com/mr/flutter/plugin/filepicker/FileUtils.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/android/src/main/java/com/mr/flutter/plugin/filepicker/FileUtils.java b/android/src/main/java/com/mr/flutter/plugin/filepicker/FileUtils.java index 76266dde..520de67a 100644 --- a/android/src/main/java/com/mr/flutter/plugin/filepicker/FileUtils.java +++ b/android/src/main/java/com/mr/flutter/plugin/filepicker/FileUtils.java @@ -117,6 +117,9 @@ public static boolean clearCache(final Context context) { public static void loadData(final File file, FileInfo.Builder fileInfo) { try { int size = (int) file.length(); + if (size > 10000000) { + throw RuntimeException("loadData: file size too large"); + } byte[] bytes = new byte[size]; try { From 2124393b87857d4b23f5d73e3001a7a6111e927f Mon Sep 17 00:00:00 2001 From: nomo-fe Date: Mon, 20 Jan 2025 18:30:04 +0100 Subject: [PATCH 2/5] no Kotlin --- .../main/java/com/mr/flutter/plugin/filepicker/FileUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/main/java/com/mr/flutter/plugin/filepicker/FileUtils.java b/android/src/main/java/com/mr/flutter/plugin/filepicker/FileUtils.java index 520de67a..afb97cfc 100644 --- a/android/src/main/java/com/mr/flutter/plugin/filepicker/FileUtils.java +++ b/android/src/main/java/com/mr/flutter/plugin/filepicker/FileUtils.java @@ -118,7 +118,7 @@ public static void loadData(final File file, FileInfo.Builder fileInfo) { try { int size = (int) file.length(); if (size > 10000000) { - throw RuntimeException("loadData: file size too large"); + throw new RuntimeException("loadData: file size too large"); } byte[] bytes = new byte[size]; From b4f4272c49e914da4717eaa6e18df90e6e56699f Mon Sep 17 00:00:00 2001 From: nomo-fe Date: Mon, 20 Jan 2025 18:40:22 +0100 Subject: [PATCH 3/5] chore: adopt manifest --- android/src/main/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 760ac437..6f0410c4 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ + > From 777af2948cba59dd87d683e03389b4f01735c19b Mon Sep 17 00:00:00 2001 From: someone Date: Fri, 9 May 2025 14:40:40 +0200 Subject: [PATCH 4/5] fix: merge fail --- android/src/main/AndroidManifest.xml | 2 +- .../main/kotlin/com/mr/flutter/plugin/filepicker/FileUtils.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 4ec458f9..851a66f1 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ + > diff --git a/android/src/main/kotlin/com/mr/flutter/plugin/filepicker/FileUtils.kt b/android/src/main/kotlin/com/mr/flutter/plugin/filepicker/FileUtils.kt index 1b3023bb..6ef91449 100644 --- a/android/src/main/kotlin/com/mr/flutter/plugin/filepicker/FileUtils.kt +++ b/android/src/main/kotlin/com/mr/flutter/plugin/filepicker/FileUtils.kt @@ -423,9 +423,9 @@ object FileUtils { try { val size = file.length().toInt() if (size > 10000000) { - throw new RuntimeException("loadData: file size too large"); + throw RuntimeException("loadData: file size too large"); } - + val bytes = ByteArray(size) try { From 5edf56a9d37e595e0fb0acafd79c9572db5e0ec6 Mon Sep 17 00:00:00 2001 From: "thomas.fercher" Date: Fri, 9 May 2025 18:28:06 +0200 Subject: [PATCH 5/5] switch to workspaces --- pubspec.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 9236f4ad..e8241b0e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -13,7 +13,7 @@ dependencies: flutter_plugin_android_lifecycle: ^2.0.22 plugin_platform_interface: ^2.1.8 - ffi: ^2.1.3 + ffi: ^2.1.4 path: ^1.9.0 win32: ^5.9.0 cross_file: ^0.3.4+2 @@ -25,8 +25,10 @@ dev_dependencies: sdk: flutter environment: - sdk: ">=3.4.0 <4.0.0" - flutter: ">=3.22.0" + sdk: ">=3.7.0 <4.0.0" + flutter: ">=3.29.3" + +resolution: workspace flutter: plugin: