mirror of
https://github.com/permissionlesstech/bitchat-android.git
synced 2026-07-24 22:45:20 +00:00
better verbose logging (#431)
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
|
||||
package com.bitchat.android.mesh
|
||||
|
||||
import android.bluetooth.BluetoothDevice
|
||||
@@ -70,6 +71,7 @@ class BluetoothPacketBroadcaster(
|
||||
try {
|
||||
val fromNick = incomingPeer?.let { nicknameResolver?.invoke(it) }
|
||||
val toNick = toPeer?.let { nicknameResolver?.invoke(it) }
|
||||
val isRelay = (incomingAddr != null || incomingPeer != null)
|
||||
|
||||
com.bitchat.android.ui.debug.DebugSettingsManager.getInstance().logPacketRelayDetailed(
|
||||
packetType = typeName,
|
||||
@@ -81,7 +83,8 @@ class BluetoothPacketBroadcaster(
|
||||
toPeerID = toPeer,
|
||||
toNickname = toNick,
|
||||
toDeviceAddress = toDeviceAddress,
|
||||
ttl = ttl
|
||||
ttl = ttl,
|
||||
isRelay = isRelay
|
||||
)
|
||||
} catch (_: Exception) {
|
||||
// Silently ignore debug logging failures
|
||||
|
||||
@@ -257,11 +257,10 @@ class DebugSettingsManager private constructor() {
|
||||
val who = if (!senderNickname.isNullOrBlank()) "$senderNickname ($senderPeerID)" else senderPeerID
|
||||
val routeInfo = if (!viaDeviceId.isNullOrBlank()) " via $viaDeviceId" else " (direct)"
|
||||
addDebugMessage(DebugMessage.PacketEvent(
|
||||
"📥 Received $messageType from $who$routeInfo"
|
||||
"📦 Received $messageType from $who$routeInfo"
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
fun logPacketRelay(
|
||||
packetType: String,
|
||||
originalPeerID: String,
|
||||
@@ -279,9 +278,11 @@ class DebugSettingsManager private constructor() {
|
||||
toPeerID = null,
|
||||
toNickname = null,
|
||||
toDeviceAddress = null,
|
||||
ttl = null
|
||||
ttl = null,
|
||||
isRelay = true
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
// New, more detailed relay logger used by the mesh/broadcaster
|
||||
fun logPacketRelayDetailed(
|
||||
@@ -294,7 +295,8 @@ class DebugSettingsManager private constructor() {
|
||||
toPeerID: String?,
|
||||
toNickname: String?,
|
||||
toDeviceAddress: String?,
|
||||
ttl: UByte?
|
||||
ttl: UByte?,
|
||||
isRelay: Boolean = true
|
||||
) {
|
||||
// Build message only if verbose logging is enabled, but always update stats
|
||||
val senderLabel = when {
|
||||
@@ -319,16 +321,26 @@ class DebugSettingsManager private constructor() {
|
||||
val ttlStr = ttl?.toString() ?: "?"
|
||||
|
||||
if (verboseLoggingEnabled.value) {
|
||||
addDebugMessage(
|
||||
DebugMessage.RelayEvent(
|
||||
"♻️ Relayed $packetType by $senderLabel from $fromName (${fromPeerID ?: "?"}, $fromAddr) to $toName (${toPeerID ?: "?"}, $toAddr) with TTL $ttlStr"
|
||||
if (isRelay) {
|
||||
addDebugMessage(
|
||||
DebugMessage.RelayEvent(
|
||||
"♻️ Relayed $packetType by $senderLabel from $fromName (${fromPeerID ?: "?"}, $fromAddr) to $toName (${toPeerID ?: "?"}, $toAddr) with TTL $ttlStr"
|
||||
)
|
||||
)
|
||||
)
|
||||
} else {
|
||||
addDebugMessage(
|
||||
DebugMessage.PacketEvent(
|
||||
"📤 Sent $packetType by $senderLabel to $toName (${toPeerID ?: "?"}, $toAddr) with TTL $ttlStr"
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// Update rolling statistics
|
||||
relayTimestamps.offer(System.currentTimeMillis())
|
||||
updateRelayStatsFromTimestamps()
|
||||
// Update rolling statistics only for relays
|
||||
if (isRelay) {
|
||||
relayTimestamps.offer(System.currentTimeMillis())
|
||||
updateRelayStatsFromTimestamps()
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Clear Data
|
||||
|
||||
Reference in New Issue
Block a user