mirror of
https://github.com/LiveFastEatTrashRaccoon/RaccoonForLemmy.git
synced 2025-02-08 20:18:46 +01:00
enhancement: write crash report in append mode (#935)
This commit is contained in:
parent
858ddc58ec
commit
a6672c76f2
@ -218,6 +218,6 @@ class DefaultDetailOpenerTest {
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val OPEN_DELAY = 1.seconds
|
||||
private val OPEN_DELAY = 1.5.seconds
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ class DefaultCrashReportConfiguration(
|
||||
|
||||
override fun isEnabled(): Boolean =
|
||||
context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE)
|
||||
.getBoolean(KEY, true)
|
||||
.getBoolean(KEY, false)
|
||||
|
||||
override fun setEnabled(value: Boolean) {
|
||||
context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE).apply {
|
||||
|
@ -21,13 +21,10 @@ class DefaultCrashReportWriter(
|
||||
} else {
|
||||
File(context.cacheDir, FILE_NAME)
|
||||
}
|
||||
try {
|
||||
val writer = FileWriter(logFile, false)
|
||||
FileWriter(logFile, true).use { writer ->
|
||||
writer.append(reportText)
|
||||
writer.append("\n")
|
||||
writer.flush()
|
||||
writer.close()
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,21 @@
|
||||
package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug
|
||||
|
||||
import kotlinx.cinterop.BetaInteropApi
|
||||
import platform.Foundation.NSCachesDirectory
|
||||
import platform.Foundation.NSFileHandle
|
||||
import platform.Foundation.NSFileManager
|
||||
import platform.Foundation.NSSearchPathForDirectoriesInDomains
|
||||
import platform.Foundation.NSString
|
||||
import platform.Foundation.NSUTF8StringEncoding
|
||||
import platform.Foundation.NSUserDomainMask
|
||||
import platform.Foundation.closeFile
|
||||
import platform.Foundation.create
|
||||
import platform.Foundation.dataUsingEncoding
|
||||
import platform.Foundation.fileHandleForReadingAtPath
|
||||
import platform.Foundation.stringByAppendingPathComponent
|
||||
import platform.Foundation.writeData
|
||||
|
||||
@OptIn(BetaInteropApi::class)
|
||||
class DefaultCrashReportWriter : CrashReportWriter {
|
||||
companion object {
|
||||
const val FILE_NAME = "crash_report.txt"
|
||||
@ -17,8 +23,18 @@ class DefaultCrashReportWriter : CrashReportWriter {
|
||||
|
||||
override fun write(reportText: String) {
|
||||
val paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, true)
|
||||
val file = (paths.first() as NSString).stringByAppendingPathComponent(FILE_NAME)
|
||||
val data = NSString.create(string = reportText).dataUsingEncoding(NSUTF8StringEncoding)
|
||||
NSFileManager.defaultManager.createFileAtPath(file, data, null)
|
||||
val path = (paths.first() as NSString).stringByAppendingPathComponent(FILE_NAME)
|
||||
val data =
|
||||
NSString.create(string = reportText + "\n")
|
||||
.dataUsingEncoding(NSUTF8StringEncoding) ?: return
|
||||
val existing = NSFileManager.defaultManager.fileExistsAtPath(path)
|
||||
if (!existing) {
|
||||
NSFileManager.defaultManager.createFileAtPath(path, data, null)
|
||||
} else {
|
||||
NSFileHandle.fileHandleForReadingAtPath(path)?.run {
|
||||
writeData(data)
|
||||
closeFile()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,3 +12,5 @@ kotlin.mpp.androidSourceSetLayoutVersion=2
|
||||
org.jetbrains.compose.experimental.uikit.enabled=true
|
||||
#Native
|
||||
kotlin.native.ignoreDisabledTargets=true
|
||||
#AGP
|
||||
kotlin.mpp.androidGradlePluginCompatibility.nowarn=true
|
Loading…
x
Reference in New Issue
Block a user