diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt index c60640f8..a6d3b454 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt @@ -128,6 +128,7 @@ internal class BPSViewModel @Inject constructor( .onEach { onDataUpdate(it) } .onEach { stopIfDisconnected(it.state) } .onEach { logAnalytics(it.state) } + .onEach { unlockUiIfDisconnected(it, device) } .launchIn(viewModelScope) if (!client.isConnected) { @@ -141,6 +142,12 @@ internal class BPSViewModel @Inject constructor( .launchIn(viewModelScope) } + private fun unlockUiIfDisconnected(connectionState: GattConnectionStateWithStatus, device: ServerDevice) { + if (connectionState.state == GattConnectionState.STATE_DISCONNECTED) { + _state.value = _state.value.copy(deviceName = device.name) + } + } + private suspend fun configureGatt(services: BleGattServices) { val bpsService = services.findService(BPS_SERVICE_UUID)!! val bpmCharacteristic = bpsService.findCharacteristic(BPM_CHARACTERISTIC_UUID)!!