From 92b89fa5be3ef6dbc2da15d4f3915aeabc264f32 Mon Sep 17 00:00:00 2001 From: emanuele-f Date: Thu, 29 Dec 2022 09:55:51 +0100 Subject: [PATCH] Fix "no such file or directory" with dump to file On older devices it's necessary to manually create the downloads subfolder Fixes #289 --- .../main/java/com/emanuelef/remote_capture/Utils.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/emanuelef/remote_capture/Utils.java b/app/src/main/java/com/emanuelef/remote_capture/Utils.java index e2be40b3..ae6c932c 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/Utils.java +++ b/app/src/main/java/com/emanuelef/remote_capture/Utils.java @@ -757,7 +757,15 @@ public class Utils { } // NOTE: context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) returns an app internal folder - String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/PCAPdroid/" + fname; + File downloadsDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); + File folder = new File(downloadsDir + "/PCAPdroid"); + try { + folder.mkdirs(); + } catch (Exception ignored) {} + if(!folder.exists()) + folder = downloadsDir; + + String path = folder + "/" + fname; Log.d(TAG, "getDownloadsUri: path=" + path); selectQuery = MediaStore.MediaColumns.DATA + "='" + path + "'"; values.put(MediaStore.MediaColumns.DATA, path);