diff --git a/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt b/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt index 385541b8a..fd6b7cda8 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt @@ -61,7 +61,10 @@ import eu.kanade.tachiyomi.util.system.logcat import io.ktor.client.HttpClient import io.ktor.client.engine.okhttp.OkHttp import io.ktor.client.plugins.cookies.HttpCookies +import java.io.File +import kotlinx.coroutines.ensureActive import kotlinx.coroutines.launch +import moe.tarsin.coroutines.runSuspendCatching import okhttp3.AsyncDns import okhttp3.android.AndroidAsyncDns import okio.Path.Companion.toOkioPath @@ -109,6 +112,22 @@ class EhApplication : Application(), SingletonImageLoader.Factory { launchIO { DownloadManager.isIdle } + launchIO { + runSuspendCatching { + val files = mutableListOf() + AppConfig.externalCrashDir?.listFiles()?.let { files.addAll(it) } + AppConfig.externalParseErrorDir?.listFiles()?.let { files.addAll(it) } + files.sortByDescending { it.lastModified() } + files.forEachIndexed { index, file -> + ensureActive() + if (index > 9) { + file.delete() + } + } + }.onFailure { + it.printStackTrace() + } + } launchIO { cleanupDownload() }