From 7c7ac0af51ac5a95beeb6f8aaefa45be3a878659 Mon Sep 17 00:00:00 2001 From: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Tue, 11 Nov 2025 07:20:29 -0600 Subject: [PATCH] refactor: Improve log export logic for decoded payloads (#3663) Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com> --- .../feature/settings/debugging/Debug.kt | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/feature/settings/src/main/kotlin/org/meshtastic/feature/settings/debugging/Debug.kt b/feature/settings/src/main/kotlin/org/meshtastic/feature/settings/debugging/Debug.kt index e50bbbad1..7bb215118 100644 --- a/feature/settings/src/main/kotlin/org/meshtastic/feature/settings/debugging/Debug.kt +++ b/feature/settings/src/main/kotlin/org/meshtastic/feature/settings/debugging/Debug.kt @@ -380,24 +380,26 @@ private suspend fun exportAllLogsToUri(context: Context, targetUri: Uri, logs: L logs.forEach { log -> writer.write("${log.formattedReceivedDate} [${log.messageType}]\n") writer.write(log.logMessage) - if (!log.decodedPayload.isNullOrBlank()) { - writer.write("\n\nDecoded Payload:\n{") - writer.write("\n") - // Redact Decoded keys. - log.decodedPayload.lineSequence().forEach { line -> - var outputLine = line - val redacted = redactedKeys.firstOrNull { line.contains(it) } - if (redacted != null) { - val idx = line.indexOf(':') - if (idx != -1) { - outputLine = line.substring(0, idx + 1) - outputLine += "" - } - } - writer.write(outputLine) + log.decodedPayload?.let { decodedPayload -> + if (decodedPayload.isNotBlank()) { + writer.write("\n\nDecoded Payload:\n{") writer.write("\n") + // Redact Decoded keys. + decodedPayload.lineSequence().forEach { line -> + var outputLine = line + val redacted = redactedKeys.firstOrNull { line.contains(it) } + if (redacted != null) { + val idx = line.indexOf(':') + if (idx != -1) { + outputLine = line.take(idx + 1) + outputLine += "" + } + } + writer.write(outputLine) + writer.write("\n") + } + writer.write("\n}") } - writer.write("\n}") } writer.write("\n\n") }