From e5f6180f702b3e9cb662b93f549d19dd1002a4b1 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Thu, 29 Aug 2024 18:30:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/help/CrashHandler.kt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/CrashHandler.kt b/app/src/main/java/io/legado/app/help/CrashHandler.kt index e13fe1809..d01b520e0 100644 --- a/app/src/main/java/io/legado/app/help/CrashHandler.kt +++ b/app/src/main/java/io/legado/app/help/CrashHandler.kt @@ -141,6 +141,7 @@ class CrashHandler(val context: Context) : Thread.UncaughtExceptionHandler { printWriter.close() val result = writer.toString() sb.append(result) + val crashLog = sb.toString() val timestamp = System.currentTimeMillis() val time = format.format(Date()) val fileName = "crash-$time-$timestamp.log" @@ -150,19 +151,19 @@ class CrashHandler(val context: Context) : Thread.UncaughtExceptionHandler { val uri = Uri.parse(backupPath) val fileDoc = FileDoc.fromUri(uri, true) fileDoc.createFileIfNotExist(fileName, "crash") - .writeText(sb.toString()) - } catch (e: Exception) { + .writeText(crashLog) + } catch (_: Exception) { + } + kotlin.runCatching { appCtx.externalCacheDir?.let { rootFile -> + val exceedTimeMillis = System.currentTimeMillis() - TimeUnit.DAYS.toMillis(7) rootFile.getFile("crash").listFiles()?.forEach { - if (it.lastModified() < System.currentTimeMillis() - TimeUnit.DAYS.toMillis( - 7 - ) - ) { + if (it.lastModified() < exceedTimeMillis) { it.delete() } } FileUtils.createFileIfNotExist(rootFile, "crash", fileName) - .writeText(sb.toString()) + .writeText(crashLog) } } }