public void HandleDeviceDisconnected()

in src/Covi/Features/BluetoothTracing/DeviceManager/Internal/DefaultDeviceManager.cs [174:201]


        public void HandleDeviceDisconnected(DeviceDescriptor deviceDescriptor, Action<DeviceDescriptor> onNext = null)
        {
            if (_discoveredDevices.TryGetValue(deviceDescriptor.Identifier, out var existingDevice))
            {
                try
                {
                    Monitor.Enter(deviceDescriptor.ProcessingLock);
                    try
                    {
                        _logger.LogDebug($"DeviceManager - Device disconnected. id: {deviceDescriptor.Identifier}.");
                        // Clean up context as it may reference some native objects
                        existingDevice.Context = null;

                        existingDevice.Processing = false;
                    }
                    finally
                    {
                        Monitor.Exit(deviceDescriptor.ProcessingLock);
                    }

                    onNext?.Invoke(deviceDescriptor);
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex, $"DeviceManager - Device disconnected - failed. id: {existingDevice.Identifier}.");
                }
            }
        }