diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt index b9fb3f889..641d6c9ec 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt @@ -211,8 +211,14 @@ class MeshService : MeshServiceBroadcasts(this, clientPackages) { connectionState.also { radioConfigRepository.setConnectionState(it) } } - private lateinit var packetHandler: PacketHandler - + private val packetHandler: PacketHandler by lazy { + PacketHandler( + packetRepository = packetRepository, + serviceBroadcasts = serviceBroadcasts, + radioInterfaceService = radioInterfaceService, + meshLogRepository = meshLogRepository, + ) + } private val serviceJob = Job() private val serviceScope = CoroutineScope(Dispatchers.IO + serviceJob) private var connectionState = ConnectionState.DISCONNECTED @@ -330,14 +336,6 @@ class MeshService : loadSettings() // Load our last known node DB - packetHandler = - PacketHandler( - packetRepository = packetRepository, - serviceBroadcasts = serviceBroadcasts, - radioInterfaceService = radioInterfaceService, - meshLogRepository = meshLogRepository, - ) - // the rest of our init will happen once we are in radioConnection.onServiceConnected }