[Android] Fix subtitle downloads when the destination folder doesn't exist

Nicolas Pomepuy git at videolan.org
Wed Mar 5 10:33:44 UTC 2025


vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Wed Mar  5 08:14:10 2025 +0100| [1651375c2dbfdd94edc7c67a36765d18e544b5cc] | committer: Nicolas Pomepuy

Fix subtitle downloads when the destination folder doesn't exist

> https://code.videolan.org/videolan/vlc-android/commit/1651375c2dbfdd94edc7c67a36765d18e544b5cc
---

 .../vlc-android/src/org/videolan/vlc/util/FileUtils.kt   | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/application/vlc-android/src/org/videolan/vlc/util/FileUtils.kt b/application/vlc-android/src/org/videolan/vlc/util/FileUtils.kt
index b7ef14fc05..4ea1c871d9 100644
--- a/application/vlc-android/src/org/videolan/vlc/util/FileUtils.kt
+++ b/application/vlc-android/src/org/videolan/vlc/util/FileUtils.kt
@@ -29,7 +29,6 @@ import android.content.res.AssetManager
 import android.database.Cursor
 import android.database.sqlite.SQLiteException
 import android.net.Uri
-import android.os.ParcelFileDescriptor
 import android.os.storage.StorageManager
 import android.provider.MediaStore
 import android.util.Log
@@ -54,7 +53,6 @@ import java.lang.Runnable
 import java.util.*
 import java.util.zip.CRC32
 import java.util.zip.ZipEntry
-import java.util.zip.ZipInputStream
 import java.util.zip.ZipOutputStream
 
 object FileUtils {
@@ -202,10 +200,16 @@ object FileUtils {
 
     @WorkerThread
     fun copyFile(src: String, dst: String): String? {
-        return if (copyFile(File(src), File(dst)))
-            dst
-        else
-            null
+        dst.getParentFolder()?.let {
+            val parent = File(it)
+            if (!parent.isDirectory) parent.mkdirs()
+            return if (copyFile(File(src), File(dst)))
+                dst
+            else
+                null
+        }
+        Log.e(TAG, "Invalid destination path: $dst")
+        return null
     }
 
     @WorkerThread



More information about the Android mailing list