优化
This commit is contained in:
@@ -62,7 +62,7 @@ class AboutFragment : PreferenceFragmentCompat() {
|
|||||||
"gzGzh" -> requireContext().sendToClip(getString(R.string.legado_gzh))
|
"gzGzh" -> requireContext().sendToClip(getString(R.string.legado_gzh))
|
||||||
"crashLog" -> showDialogFragment<CrashLogsDialog>()
|
"crashLog" -> showDialogFragment<CrashLogsDialog>()
|
||||||
"saveLog" -> saveLog()
|
"saveLog" -> saveLog()
|
||||||
"saveHeapDump" -> saveHeapDump()
|
"createHeapDump" -> createHeapDump()
|
||||||
}
|
}
|
||||||
return super.onPreferenceTreeClick(preference)
|
return super.onPreferenceTreeClick(preference)
|
||||||
}
|
}
|
||||||
@@ -124,21 +124,20 @@ class AboutFragment : PreferenceFragmentCompat() {
|
|||||||
toastOnUi("未设置备份目录")
|
toastOnUi("未设置备份目录")
|
||||||
return@async
|
return@async
|
||||||
}
|
}
|
||||||
val files = FileDoc.fromFile(File(appCtx.externalCacheDir, "logs")).list()
|
|
||||||
if (files.isNullOrEmpty()) {
|
|
||||||
toastOnUi("没有日志")
|
|
||||||
return@async
|
|
||||||
}
|
|
||||||
val doc = FileDoc.fromUri(Uri.parse(backupPath), true)
|
val doc = FileDoc.fromUri(Uri.parse(backupPath), true)
|
||||||
|
val files = FileDoc.fromFile(File(appCtx.externalCacheDir, "logs")).list()
|
||||||
|
if (!files.isNullOrEmpty()) {
|
||||||
doc.find("logs")?.delete()
|
doc.find("logs")?.delete()
|
||||||
val logsDoc = doc.createFolderIfNotExist("logs")
|
val logsDoc = doc.createFolderIfNotExist("logs")
|
||||||
files.forEach { file ->
|
files.forEach { file ->
|
||||||
file.openInputStream().getOrNull()?.use { input ->
|
file.openInputStream().getOrNull()?.use { input ->
|
||||||
logsDoc.createFileIfNotExist(file.name).openOutputStream().getOrNull()?.use {
|
logsDoc.createFileIfNotExist(file.name).openOutputStream().getOrNull()
|
||||||
|
?.use {
|
||||||
input.copyTo(it)
|
input.copyTo(it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
val heapFile = FileDoc.fromFile(File(appCtx.externalCacheDir, "heapDump")).list()
|
val heapFile = FileDoc.fromFile(File(appCtx.externalCacheDir, "heapDump")).list()
|
||||||
?.firstOrNull()
|
?.firstOrNull()
|
||||||
if (heapFile != null) {
|
if (heapFile != null) {
|
||||||
@@ -157,13 +156,13 @@ class AboutFragment : PreferenceFragmentCompat() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun saveHeapDump() {
|
private fun createHeapDump() {
|
||||||
Coroutine.async {
|
Coroutine.async {
|
||||||
val backupPath = AppConfig.backupPath ?: let {
|
val backupPath = AppConfig.backupPath ?: let {
|
||||||
toastOnUi("未设置备份目录")
|
toastOnUi("未设置备份目录")
|
||||||
return@async
|
return@async
|
||||||
}
|
}
|
||||||
toastOnUi("开始保存堆转储")
|
toastOnUi("开始创建堆转储")
|
||||||
CrashHandler.doHeapDump()
|
CrashHandler.doHeapDump()
|
||||||
val heapFile = FileDoc.fromFile(File(appCtx.externalCacheDir, "heapDump")).list()
|
val heapFile = FileDoc.fromFile(File(appCtx.externalCacheDir, "heapDump")).list()
|
||||||
?.firstOrNull() ?: let {
|
?.firstOrNull() ?: let {
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
app:iconSpaceReserved="false" />
|
app:iconSpaceReserved="false" />
|
||||||
|
|
||||||
<io.legado.app.lib.prefs.Preference
|
<io.legado.app.lib.prefs.Preference
|
||||||
android:key="saveHeapDump"
|
android:key="createHeapDump"
|
||||||
android:title="@string/create_heap_dump"
|
android:title="@string/create_heap_dump"
|
||||||
app:iconSpaceReserved="false" />
|
app:iconSpaceReserved="false" />
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user