Horis 2 lat temu
rodzic
commit
e5f6180f70

+ 8 - 7
app/src/main/java/io/legado/app/help/CrashHandler.kt

@@ -141,6 +141,7 @@ class CrashHandler(val context: Context) : Thread.UncaughtExceptionHandler {
             printWriter.close()
             printWriter.close()
             val result = writer.toString()
             val result = writer.toString()
             sb.append(result)
             sb.append(result)
+            val crashLog = sb.toString()
             val timestamp = System.currentTimeMillis()
             val timestamp = System.currentTimeMillis()
             val time = format.format(Date())
             val time = format.format(Date())
             val fileName = "crash-$time-$timestamp.log"
             val fileName = "crash-$time-$timestamp.log"
@@ -150,19 +151,19 @@ class CrashHandler(val context: Context) : Thread.UncaughtExceptionHandler {
                 val uri = Uri.parse(backupPath)
                 val uri = Uri.parse(backupPath)
                 val fileDoc = FileDoc.fromUri(uri, true)
                 val fileDoc = FileDoc.fromUri(uri, true)
                 fileDoc.createFileIfNotExist(fileName, "crash")
                 fileDoc.createFileIfNotExist(fileName, "crash")
-                    .writeText(sb.toString())
-            } catch (e: Exception) {
+                    .writeText(crashLog)
+            } catch (_: Exception) {
+            }
+            kotlin.runCatching {
                 appCtx.externalCacheDir?.let { rootFile ->
                 appCtx.externalCacheDir?.let { rootFile ->
+                    val exceedTimeMillis = System.currentTimeMillis() - TimeUnit.DAYS.toMillis(7)
                     rootFile.getFile("crash").listFiles()?.forEach {
                     rootFile.getFile("crash").listFiles()?.forEach {
-                        if (it.lastModified() < System.currentTimeMillis() - TimeUnit.DAYS.toMillis(
-                                7
-                            )
-                        ) {
+                        if (it.lastModified() < exceedTimeMillis) {
                             it.delete()
                             it.delete()
                         }
                         }
                     }
                     }
                     FileUtils.createFileIfNotExist(rootFile, "crash", fileName)
                     FileUtils.createFileIfNotExist(rootFile, "crash", fileName)
-                        .writeText(sb.toString())
+                        .writeText(crashLog)
                 }
                 }
             }
             }
         }
         }