Skip to content

Commit 7c7ac0a

Browse files
authored
refactor: Improve log export logic for decoded payloads (meshtastic#3663)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
1 parent cab3b0a commit 7c7ac0a

1 file changed

Lines changed: 17 additions & 15 deletions

File tree

  • feature/settings/src/main/kotlin/org/meshtastic/feature/settings/debugging

feature/settings/src/main/kotlin/org/meshtastic/feature/settings/debugging/Debug.kt

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -380,24 +380,26 @@ private suspend fun exportAllLogsToUri(context: Context, targetUri: Uri, logs: L
380380
logs.forEach { log ->
381381
writer.write("${log.formattedReceivedDate} [${log.messageType}]\n")
382382
writer.write(log.logMessage)
383-
if (!log.decodedPayload.isNullOrBlank()) {
384-
writer.write("\n\nDecoded Payload:\n{")
385-
writer.write("\n")
386-
// Redact Decoded keys.
387-
log.decodedPayload.lineSequence().forEach { line ->
388-
var outputLine = line
389-
val redacted = redactedKeys.firstOrNull { line.contains(it) }
390-
if (redacted != null) {
391-
val idx = line.indexOf(':')
392-
if (idx != -1) {
393-
outputLine = line.substring(0, idx + 1)
394-
outputLine += "<redacted>"
383+
log.decodedPayload?.let { decodedPayload ->
384+
if (decodedPayload.isNotBlank()) {
385+
writer.write("\n\nDecoded Payload:\n{")
386+
writer.write("\n")
387+
// Redact Decoded keys.
388+
decodedPayload.lineSequence().forEach { line ->
389+
var outputLine = line
390+
val redacted = redactedKeys.firstOrNull { line.contains(it) }
391+
if (redacted != null) {
392+
val idx = line.indexOf(':')
393+
if (idx != -1) {
394+
outputLine = line.take(idx + 1)
395+
outputLine += "<redacted>"
396+
}
395397
}
398+
writer.write(outputLine)
399+
writer.write("\n")
396400
}
397-
writer.write(outputLine)
398-
writer.write("\n")
401+
writer.write("\n}")
399402
}
400-
writer.write("\n}")
401403
}
402404
writer.write("\n\n")
403405
}

0 commit comments

Comments
 (0)