v1.1.1: Delete empty folders after upload regardless of album toggle
This commit is contained in:
+2
-2
@@ -11,8 +11,8 @@ android {
|
||||
applicationId "com.folderredirect.app"
|
||||
minSdk 26
|
||||
targetSdk 34
|
||||
versionCode 2
|
||||
versionName "1.1.0"
|
||||
versionCode 3
|
||||
versionName "1.1.1"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
|
||||
@@ -119,6 +119,7 @@ class FileMoveWorker(appContext: Context, params: WorkerParameters) : CoroutineW
|
||||
val totalFiles = filesToProcess.size
|
||||
|
||||
if (totalFiles == 0) {
|
||||
deleteEmptyFoldersRecursively(sourceDir)
|
||||
rulesManager.updateImmichRuleProgress(rule.id, 100)
|
||||
sendProgressUpdate()
|
||||
return@withContext 0
|
||||
@@ -175,6 +176,8 @@ class FileMoveWorker(appContext: Context, params: WorkerParameters) : CoroutineW
|
||||
sendProgressUpdate()
|
||||
}
|
||||
|
||||
deleteEmptyFoldersRecursively(sourceDir)
|
||||
|
||||
return@withContext count
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Error procesando regla Immich: ${e.message}")
|
||||
@@ -186,6 +189,9 @@ class FileMoveWorker(appContext: Context, params: WorkerParameters) : CoroutineW
|
||||
private fun deleteEmptyParentFoldersImmich(folder: File?, baseFolder: File) =
|
||||
FileUtils.deleteEmptyParentFolders(folder, baseFolder)
|
||||
|
||||
private fun deleteEmptyFoldersRecursively(baseFolder: File) =
|
||||
FileUtils.deleteEmptyFoldersRecursively(baseFolder)
|
||||
|
||||
private fun getAllFilesRecursively(dir: File): List<File> =
|
||||
FileUtils.getAllFilesRecursively(dir)
|
||||
|
||||
|
||||
@@ -47,6 +47,20 @@ object FileUtils {
|
||||
}
|
||||
}
|
||||
|
||||
fun deleteEmptyFoldersRecursively(baseFolder: File) {
|
||||
if (!baseFolder.exists() || !baseFolder.isDirectory) return
|
||||
val children = baseFolder.listFiles() ?: return
|
||||
for (child in children) {
|
||||
if (child.isDirectory) {
|
||||
deleteEmptyFoldersRecursively(child)
|
||||
if (child.exists() && child.listFiles()?.isEmpty() == true) {
|
||||
child.delete()
|
||||
Log.d(TAG, "Carpeta vacía eliminada: ${child.absolutePath}")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun getAllFilesRecursively(dir: File): List<File> {
|
||||
val files = mutableListOf<File>()
|
||||
dir.listFiles()?.forEach { file ->
|
||||
|
||||
Reference in New Issue
Block a user