diff --git a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt index 7a313db5..c10be870 100644 --- a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt +++ b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt @@ -170,13 +170,13 @@ internal class GLSViewModel @Inject constructor( .onEach { unlockUiIfDisconnected(it, device) } .launchIn(viewModelScope) + client.waitForBonding() + if (!client.isConnected) { _state.value = _state.value.copy(deviceName = device.name) return@launch } - client.waitForBonding() - client.discoverServices() .filterNotNull() .onEach { configureGatt(it, device) } diff --git a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSService.kt b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSService.kt index 2a6588e8..266c9cce 100644 --- a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSService.kt +++ b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSService.kt @@ -107,6 +107,8 @@ internal class HRSService : NotificationService() { .onEach { unlockUiIfDisconnected(it, device) } .launchIn(lifecycleScope) + client.waitForBonding() + if (!client.isConnected) { hasBeenInitialized = true repository.onInitComplete(device)