visual logger refactor (#583)

This commit is contained in:
callebtc
2026-01-14 04:40:04 +07:00
committed by GitHub
parent ce71de29f7
commit dd856ac01f
3 changed files with 34 additions and 29 deletions
@@ -158,9 +158,11 @@ class BluetoothMeshService(private val context: Context) {
*/
private fun setupDelegates() {
Log.d(TAG, "Setting up component delegates")
// Provide nickname resolver to BLE broadcaster for detailed logs
// Provide nickname resolver to BLE broadcaster and debug manager
try {
connectionManager.setNicknameResolver { pid -> peerManager.getPeerNickname(pid) }
val resolver: (String) -> String? = { pid -> peerManager.getPeerNickname(pid) }
connectionManager.setNicknameResolver(resolver)
debugManager?.setNicknameResolver(resolver)
} catch (_: Exception) { }
// PeerManager delegates to main mesh service delegate
peerManager.delegate = object : PeerManagerDelegate {
@@ -546,21 +548,12 @@ class BluetoothMeshService(private val context: Context) {
override fun onPacketReceived(packet: BitchatPacket, peerID: String, device: android.bluetooth.BluetoothDevice?) {
// Log incoming for debug graphs (do not double-count anywhere else)
try {
val nick = getPeerNicknames()[peerID]
val route = packet.route
val routeInfo = if (!route.isNullOrEmpty()) "routed: ${route.size} hops" else null
// Convert route to hex strings for visualization
val routeStrings = route?.map { it.toHexString() }
com.bitchat.android.ui.debug.DebugSettingsManager.getInstance().logIncoming(
packetType = packet.type.toString(),
packet = packet,
fromPeerID = peerID,
fromNickname = nick,
fromNickname = null,
fromDeviceAddress = device?.address,
packetVersion = packet.version,
routeInfo = routeInfo,
route = routeStrings
myPeerID = myPeerID
)
} catch (_: Exception) { }
packetProcessor.processPacket(RoutedPacket(packet, peerID, device?.address))
@@ -78,8 +78,6 @@ class PacketProcessor(private val myPeerID: String) {
Log.w(TAG, "Received packet with no peer ID, skipping")
return
}
// Get or create actor for this peer
val actor = actors.getOrPut(peerID) { getOrCreateActorForPeer(peerID) }