Fix UI when bonding required

This commit is contained in:
Sylwester Zielinski
2023-04-25 15:25:23 +02:00
parent c623e9f795
commit 0d6035514d
2 changed files with 5 additions and 1 deletions

View File

@@ -31,6 +31,7 @@
package no.nordicsemi.android.gls.main.view
import android.util.Log
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState

View File

@@ -39,6 +39,7 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.filterNotNull
@@ -174,6 +175,8 @@ internal class GLSViewModel @Inject constructor(
return@launch
}
client.waitForBonding()
client.discoverServices()
.filterNotNull()
.onEach { configureGatt(it, device) }
@@ -187,7 +190,7 @@ internal class GLSViewModel @Inject constructor(
}
private fun unlockUiIfDisconnected(connectionState: GattConnectionStateWithStatus, device: ServerDevice) {
if (connectionState.state == GattConnectionState.STATE_CONNECTED) {
if (connectionState.state == GattConnectionState.STATE_DISCONNECTED) {
_state.value = _state.value.copy(deviceName = device.name)
}
}