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"
|
applicationId "com.folderredirect.app"
|
||||||
minSdk 26
|
minSdk 26
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
versionCode 2
|
versionCode 3
|
||||||
versionName "1.1.0"
|
versionName "1.1.1"
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ class FileMoveWorker(appContext: Context, params: WorkerParameters) : CoroutineW
|
|||||||
val totalFiles = filesToProcess.size
|
val totalFiles = filesToProcess.size
|
||||||
|
|
||||||
if (totalFiles == 0) {
|
if (totalFiles == 0) {
|
||||||
|
deleteEmptyFoldersRecursively(sourceDir)
|
||||||
rulesManager.updateImmichRuleProgress(rule.id, 100)
|
rulesManager.updateImmichRuleProgress(rule.id, 100)
|
||||||
sendProgressUpdate()
|
sendProgressUpdate()
|
||||||
return@withContext 0
|
return@withContext 0
|
||||||
@@ -175,6 +176,8 @@ class FileMoveWorker(appContext: Context, params: WorkerParameters) : CoroutineW
|
|||||||
sendProgressUpdate()
|
sendProgressUpdate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
deleteEmptyFoldersRecursively(sourceDir)
|
||||||
|
|
||||||
return@withContext count
|
return@withContext count
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Log.e(TAG, "Error procesando regla Immich: ${e.message}")
|
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) =
|
private fun deleteEmptyParentFoldersImmich(folder: File?, baseFolder: File) =
|
||||||
FileUtils.deleteEmptyParentFolders(folder, baseFolder)
|
FileUtils.deleteEmptyParentFolders(folder, baseFolder)
|
||||||
|
|
||||||
|
private fun deleteEmptyFoldersRecursively(baseFolder: File) =
|
||||||
|
FileUtils.deleteEmptyFoldersRecursively(baseFolder)
|
||||||
|
|
||||||
private fun getAllFilesRecursively(dir: File): List<File> =
|
private fun getAllFilesRecursively(dir: File): List<File> =
|
||||||
FileUtils.getAllFilesRecursively(dir)
|
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> {
|
fun getAllFilesRecursively(dir: File): List<File> {
|
||||||
val files = mutableListOf<File>()
|
val files = mutableListOf<File>()
|
||||||
dir.listFiles()?.forEach { file ->
|
dir.listFiles()?.forEach { file ->
|
||||||
|
|||||||
Reference in New Issue
Block a user