From 79cb9d8a1ebf300186e802d0a8cd157ae003ed7b Mon Sep 17 00:00:00 2001 From: Sylwester Zielinski Date: Wed, 26 Apr 2023 16:43:56 +0200 Subject: [PATCH] Use wait for bonding properly --- .../no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt | 4 ++-- .../main/java/no/nordicsemi/android/hrs/service/HRSService.kt | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) 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)