From f3547048e368f8e7a64ebfd261fa86a9788478fc Mon Sep 17 00:00:00 2001 From: rushiiMachine <33725716+rushiiMachine@users.noreply.github.com> Date: Wed, 9 Apr 2025 20:20:18 -0700 Subject: [PATCH] fix: ensure directory exists when listing custom component files --- .../kotlin/com/aliucord/manager/manager/PathManager.kt | 8 ++++++-- .../patcher/steps/download/DownloadInjectorStep.kt | 2 +- .../manager/patcher/steps/download/DownloadPatchesStep.kt | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/aliucord/manager/manager/PathManager.kt b/app/src/main/kotlin/com/aliucord/manager/manager/PathManager.kt index 7bed987..153b554 100644 --- a/app/src/main/kotlin/com/aliucord/manager/manager/PathManager.kt +++ b/app/src/main/kotlin/com/aliucord/manager/manager/PathManager.kt @@ -107,8 +107,12 @@ class PathManager( /** * List all the files that follow the ```[SemVer].custom.*``` naming scheme. */ - private fun listCustomFiles(dir: File): List { - val files = dir.listFiles() ?: return emptyList() + private fun listCustomFiles(dir: File): List? { + if (!dir.exists()) return null + + val files = dir.listFiles() + ?: throw Error("Failed to list directory") + val customVersions = files .map { it.nameWithoutExtension } .filter { it.endsWith(".custom") } diff --git a/app/src/main/kotlin/com/aliucord/manager/patcher/steps/download/DownloadInjectorStep.kt b/app/src/main/kotlin/com/aliucord/manager/patcher/steps/download/DownloadInjectorStep.kt index 3c41fc4..87f83b3 100644 --- a/app/src/main/kotlin/com/aliucord/manager/patcher/steps/download/DownloadInjectorStep.kt +++ b/app/src/main/kotlin/com/aliucord/manager/patcher/steps/download/DownloadInjectorStep.kt @@ -39,7 +39,7 @@ class DownloadInjectorStep : DownloadStep(), IDexProvider, KoinComponent { override suspend fun execute(container: StepRunner) { val customVersions = mutableStateListOf() - .apply { addAll(paths.customInjectorDexs()) } + customVersions += paths.customInjectorDexs() ?: emptyList() // Prompt to select or manage custom versions instead of downloading if (customVersions.isNotEmpty()) { diff --git a/app/src/main/kotlin/com/aliucord/manager/patcher/steps/download/DownloadPatchesStep.kt b/app/src/main/kotlin/com/aliucord/manager/patcher/steps/download/DownloadPatchesStep.kt index a5889e3..0478d41 100644 --- a/app/src/main/kotlin/com/aliucord/manager/patcher/steps/download/DownloadPatchesStep.kt +++ b/app/src/main/kotlin/com/aliucord/manager/patcher/steps/download/DownloadPatchesStep.kt @@ -37,7 +37,7 @@ class DownloadPatchesStep : DownloadStep(), KoinComponent { override suspend fun execute(container: StepRunner) { val customVersions = mutableStateListOf() - .apply { addAll(paths.customSmaliPatches()) } + customVersions += paths.customSmaliPatches() ?: emptyList() // Prompt to select or manage custom versions instead of downloading if (customVersions.isNotEmpty()) {