diff --git a/core/commonui/detailopener-impl/src/androidUnitTest/kotlin/DefaultDetailOpenerTest.kt b/core/commonui/detailopener-impl/src/androidUnitTest/kotlin/DefaultDetailOpenerTest.kt index 84d4dfe27..4f13d9420 100644 --- a/core/commonui/detailopener-impl/src/androidUnitTest/kotlin/DefaultDetailOpenerTest.kt +++ b/core/commonui/detailopener-impl/src/androidUnitTest/kotlin/DefaultDetailOpenerTest.kt @@ -218,6 +218,6 @@ class DefaultDetailOpenerTest { } companion object { - private val OPEN_DELAY = 1.seconds + private val OPEN_DELAY = 1.5.seconds } } diff --git a/core/utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportConfiguration.kt b/core/utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportConfiguration.kt index 08b9ac9ab..ebb3f2a14 100644 --- a/core/utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportConfiguration.kt +++ b/core/utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportConfiguration.kt @@ -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 { diff --git a/core/utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt b/core/utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt index 651710d78..c73fa07ef 100644 --- a/core/utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt +++ b/core/utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt @@ -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() } } } diff --git a/core/utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt b/core/utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt index fcbeea2c0..50626fab3 100644 --- a/core/utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt +++ b/core/utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt @@ -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() + } + } } } diff --git a/gradle.properties b/gradle.properties index 36b1f1834..7e9039e6d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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 \ No newline at end of file