From f909f01fec8e7f6da3c7e9d1553b54fe4d00deef Mon Sep 17 00:00:00 2001 From: callebtc <93376500+callebtc@users.noreply.github.com> Date: Sun, 13 Jul 2025 23:23:15 +0200 Subject: [PATCH] integrate into main --- .../com/bitchat/android/mesh/BluetoothConnectionManager.kt | 2 +- .../com/bitchat/android/mesh/BluetoothPacketBroadcaster.kt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/bitchat/android/mesh/BluetoothConnectionManager.kt b/app/src/main/java/com/bitchat/android/mesh/BluetoothConnectionManager.kt index 83bb2e8b..dd60ea1b 100644 --- a/app/src/main/java/com/bitchat/android/mesh/BluetoothConnectionManager.kt +++ b/app/src/main/java/com/bitchat/android/mesh/BluetoothConnectionManager.kt @@ -36,7 +36,7 @@ class BluetoothConnectionManager( // Component managers private val permissionManager = BluetoothPermissionManager(context) private val connectionTracker = BluetoothConnectionTracker(connectionScope, powerManager) - private val packetBroadcaster = BluetoothPacketBroadcaster(connectionScope, connectionTracker) + private val packetBroadcaster = BluetoothPacketBroadcaster(connectionScope, connectionTracker, fragmentManager) // Delegate for component managers to call back to main manager private val componentDelegate = object : BluetoothConnectionManagerDelegate { diff --git a/app/src/main/java/com/bitchat/android/mesh/BluetoothPacketBroadcaster.kt b/app/src/main/java/com/bitchat/android/mesh/BluetoothPacketBroadcaster.kt index 206865dd..b0dd85a8 100644 --- a/app/src/main/java/com/bitchat/android/mesh/BluetoothPacketBroadcaster.kt +++ b/app/src/main/java/com/bitchat/android/mesh/BluetoothPacketBroadcaster.kt @@ -16,7 +16,8 @@ import kotlinx.coroutines.launch */ class BluetoothPacketBroadcaster( private val connectionScope: CoroutineScope, - private val connectionTracker: BluetoothConnectionTracker + private val connectionTracker: BluetoothConnectionTracker, + private val fragmentManager: FragmentManager? ) { companion object { @@ -38,7 +39,7 @@ class BluetoothPacketBroadcaster( Log.d(TAG, "Fragmenting packet into ${fragments.size} fragments") connectionScope.launch { fragments.forEach { fragment -> - broadcastSinglePacket(fragment, gattServer, characteristic) + broadcastSinglePacket(RoutedPacket(fragment), gattServer, characteristic) // 20ms delay between fragments (matching iOS/Rust) delay(20) }