From 175aef9e2ff3669b2d20259be549208a1eb69dc9 Mon Sep 17 00:00:00 2001 From: darken Date: Sat, 25 Apr 2026 16:17:21 +0200 Subject: [PATCH] feat(logging): Log raw advertisement and decoded payload bytes --- .../capod/pods/core/apple/ble/AppleFactory.kt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/ble/AppleFactory.kt b/app/src/main/java/eu/darken/capod/pods/core/apple/ble/AppleFactory.kt index 747ba126..23b1da34 100644 --- a/app/src/main/java/eu/darken/capod/pods/core/apple/ble/AppleFactory.kt +++ b/app/src/main/java/eu/darken/capod/pods/core/apple/ble/AppleFactory.kt @@ -2,6 +2,7 @@ package eu.darken.capod.pods.core.apple.ble import eu.darken.capod.common.bluetooth.BleScanResult import eu.darken.capod.common.bluetooth.logSummary +import eu.darken.capod.common.bluetooth.redactedForLogs import eu.darken.capod.common.debug.logging.Logging.Priority.DEBUG import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE import eu.darken.capod.common.debug.logging.Logging.Priority.WARN @@ -119,7 +120,7 @@ class AppleFactory @Inject constructor( } } - factory.create( + val device = factory.create( scanResult = scanResult, payload = payload, meta = ApplePods.AppleMeta( @@ -127,6 +128,18 @@ class AppleFactory @Inject constructor( profile = profile, ), ) + + log(TAG, DEBUG) { + val rawHex = scanResult.manufacturerSpecificData.entries.joinToString("; ") { (id, bytes) -> + "$id:${bytes.joinToString(" ") { "%02X".format(it.toInt() and 0xFF) }}" + } + val publicHex = payload.public.data.joinToString(" ") { "%02X".format(it.toInt()) } + val privateHex = payload.private?.data?.joinToString(" ") { "%02X".format(it.toInt()) } ?: "-" + "Apple decoded: model=${device.model}, addr=${scanResult.address.redactedForLogs()}, " + + "irkMatch=$isIrkMatch, raw=[$rawHex], public=[$publicHex], private=[$privateHex]" + } + + device } companion object {