From bcd481307c5bd862cf0ed886ca264ed681eee02d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Sat, 17 Jun 2023 13:28:37 +0200 Subject: [PATCH] Fix mock engine --- .../ui/view/{UiModule.kt => HiltModule.kt} | 5 ++- .../android/bps/viewmodel/BPSViewModel.kt | 3 +- .../android/cgms/repository/CGMRepository.kt | 3 +- .../android/csc/repository/CSCRepository.kt | 3 +- profile_gls/build.gradle.kts | 4 +- .../no/nordicsemi/android/gls/GlsServer.kt | 6 +-- .../android/gls/main/view/GLSScreen.kt | 1 + .../gls/main/viewmodel/GLSViewModel.kt | 9 ++++- .../android/gls/GLSViewModelTest.kt | 37 +++++++++++-------- .../android/hrs/service/HRSRepository.kt | 3 +- .../android/hts/repository/HTSRepository.kt | 3 +- .../android/prx/repository/PRXRepository.kt | 3 +- .../android/rscs/repository/RSCSRepository.kt | 3 +- .../android/uart/repository/UARTRepository.kt | 3 +- 14 files changed, 54 insertions(+), 32 deletions(-) rename lib_ui/src/main/java/no/nordicsemi/android/ui/view/{UiModule.kt => HiltModule.kt} (85%) diff --git a/lib_ui/src/main/java/no/nordicsemi/android/ui/view/UiModule.kt b/lib_ui/src/main/java/no/nordicsemi/android/ui/view/HiltModule.kt similarity index 85% rename from lib_ui/src/main/java/no/nordicsemi/android/ui/view/UiModule.kt rename to lib_ui/src/main/java/no/nordicsemi/android/ui/view/HiltModule.kt index 62db9285..679c69b5 100644 --- a/lib_ui/src/main/java/no/nordicsemi/android/ui/view/UiModule.kt +++ b/lib_ui/src/main/java/no/nordicsemi/android/ui/view/HiltModule.kt @@ -7,10 +7,11 @@ import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import no.nordicsemi.android.common.logger.NordicBlekLogger import no.nordicsemi.android.common.logger.BlekLogger +import no.nordicsemi.android.common.logger.BlekLoggerAndLauncher @Module @InstallIn(SingletonComponent::class) -class UiModule { +class HiltModule { @Provides fun createLogger(): NordicLoggerFactory { @@ -20,7 +21,7 @@ class UiModule { profile: String?, key: String, name: String?, - ): BlekLogger { + ): BlekLoggerAndLauncher { return NordicBlekLogger.create(context, profile, key, name) } } 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 7f224e51..ca44f900 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 @@ -53,6 +53,7 @@ import no.nordicsemi.android.bps.view.BPSViewEvent import no.nordicsemi.android.bps.view.BPSViewState import no.nordicsemi.android.bps.view.DisconnectEvent import no.nordicsemi.android.bps.view.OpenLoggerEvent +import no.nordicsemi.android.common.logger.BlekLoggerAndLauncher import no.nordicsemi.android.common.logger.NordicBlekLogger import no.nordicsemi.android.common.navigation.NavigationResult import no.nordicsemi.android.common.navigation.Navigator @@ -93,7 +94,7 @@ internal class BPSViewModel @Inject constructor( val state = _state.asStateFlow() private lateinit var client: BleGattClient - private lateinit var logger: NordicBlekLogger + private lateinit var logger: BlekLoggerAndLauncher init { navigationManager.navigateTo(ScannerDestinationId, ParcelUuid(BPS_SERVICE_UUID)) diff --git a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMRepository.kt b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMRepository.kt index 7b144e7f..c9dc5d1d 100644 --- a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMRepository.kt +++ b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMRepository.kt @@ -41,6 +41,7 @@ import no.nordicsemi.android.cgms.data.CGMRecordWithSequenceNumber import no.nordicsemi.android.cgms.data.CGMServiceCommand import no.nordicsemi.android.cgms.data.CGMServiceData import no.nordicsemi.android.common.core.simpleSharedFlow +import no.nordicsemi.android.common.logger.BlekLoggerAndLauncher import no.nordicsemi.android.common.logger.NordicBlekLogger import no.nordicsemi.android.kotlin.ble.core.ServerDevice import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionState @@ -59,7 +60,7 @@ class CGMRepository @Inject constructor( private val serviceManager: ServiceManager, private val stringConst: StringConst ) { - private var logger: NordicBlekLogger? = null + private var logger: BlekLoggerAndLauncher? = null private val _data = MutableStateFlow(CGMServiceData()) internal val data = _data.asStateFlow() diff --git a/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCRepository.kt b/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCRepository.kt index 23f2e7f4..92510765 100644 --- a/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCRepository.kt +++ b/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCRepository.kt @@ -38,6 +38,7 @@ import kotlinx.coroutines.flow.asSharedFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.map import no.nordicsemi.android.common.core.simpleSharedFlow +import no.nordicsemi.android.common.logger.BlekLoggerAndLauncher import no.nordicsemi.android.common.logger.NordicBlekLogger import no.nordicsemi.android.csc.data.CSCServiceData import no.nordicsemi.android.csc.data.SpeedUnit @@ -60,7 +61,7 @@ class CSCRepository @Inject constructor( private val serviceManager: ServiceManager, private val stringConst: StringConst ) { - private var logger: NordicBlekLogger? = null + private var logger: BlekLoggerAndLauncher? = null private val _wheelSize = MutableStateFlow(WheelSizes.default) internal val wheelSize = _wheelSize.asStateFlow() diff --git a/profile_gls/build.gradle.kts b/profile_gls/build.gradle.kts index 40a39bac..0a1dadb2 100644 --- a/profile_gls/build.gradle.kts +++ b/profile_gls/build.gradle.kts @@ -70,8 +70,8 @@ dependencies { testImplementation(libs.junit4) testImplementation("io.mockk:mockk:1.13.5") - implementation("androidx.test.ext:junit-ktx:1.1.5") - testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.1") + testImplementation(libs.androidx.test.ext) + testImplementation(libs.kotlinx.coroutines.test) testImplementation("org.slf4j:slf4j-simple:2.0.5") testImplementation("org.robolectric:robolectric:4.10.3") } diff --git a/profile_gls/src/debug/java/no/nordicsemi/android/gls/GlsServer.kt b/profile_gls/src/debug/java/no/nordicsemi/android/gls/GlsServer.kt index 0ca35fc1..be3cc733 100644 --- a/profile_gls/src/debug/java/no/nordicsemi/android/gls/GlsServer.kt +++ b/profile_gls/src/debug/java/no/nordicsemi/android/gls/GlsServer.kt @@ -43,7 +43,7 @@ class GlsServer @Inject constructor( lateinit var racpCharacteristic: BleServerGattCharacteristic lateinit var batteryLevelCharacteristic: BleServerGattCharacteristic - private val records = listOf( + val records = listOf( byteArrayOf(0x07, 0x00, 0x00, 0xDC.toByte(), 0x07, 0x01, 0x01, 0x0C, 0x1E, 0x05, 0x00, 0x00, 0x26, 0xD2.toByte(), 0x11), byteArrayOf(0x07, 0x01, 0x00, 0xDC.toByte(), 0x07, 0x01, 0x01, 0x0C, 0x1E, 0x08, 0x00, 0x00, 0x3D, 0xD2.toByte(), 0x11), byteArrayOf(0x07, 0x02, 0x00, 0xDC.toByte(), 0x07, 0x01, 0x01, 0x0C, 0x1E, 0x0B, 0x00, 0x00, 0x54, 0xD2.toByte(), 0x11), @@ -51,7 +51,7 @@ class GlsServer @Inject constructor( byteArrayOf(0x07, 0x04, 0x00, 0xDC.toByte(), 0x07, 0x01, 0x01, 0x0C, 0x1E, 0x11, 0x00, 0x00, 0x82.toByte(), 0xD2.toByte(), 0x11) ) - private val racp = byteArrayOf(0x06, 0x00, 0x01, 0x01) + val racp = byteArrayOf(0x06, 0x00, 0x01, 0x01) fun start( context: Context, @@ -123,7 +123,7 @@ class GlsServer @Inject constructor( startGlsService(connection) -// startBatteryService(connection) + startBatteryService(connection) } private fun startGlsService(connection: BluetoothGattServerConnection) { diff --git a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt index cb5d84e9..a47ebb93 100644 --- a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt +++ b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt @@ -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 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 1991b513..a8eddd6b 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 @@ -69,6 +69,7 @@ import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionState import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionStateWithStatus import no.nordicsemi.android.common.logger.BlekLogger import no.nordicsemi.android.common.logger.BlekLoggerAndLauncher +import no.nordicsemi.android.kotlin.ble.core.ext.toDisplayString import no.nordicsemi.android.kotlin.ble.profile.battery.BatteryLevelParser import no.nordicsemi.android.kotlin.ble.profile.gls.GlucoseMeasurementContextParser import no.nordicsemi.android.kotlin.ble.profile.gls.GlucoseMeasurementParser @@ -111,8 +112,8 @@ internal class GLSViewModel @Inject constructor( internal lateinit var client: BleGattClient private lateinit var logger: BlekLoggerAndLauncher - internal lateinit var glucoseMeasurementCharacteristic: BleGattCharacteristic - internal lateinit var recordAccessControlPointCharacteristic: BleGattCharacteristic + private lateinit var glucoseMeasurementCharacteristic: BleGattCharacteristic + private lateinit var recordAccessControlPointCharacteristic: BleGattCharacteristic private val _state = MutableStateFlow(GLSViewState()) val state = _state.asStateFlow() @@ -238,6 +239,7 @@ internal class GLSViewModel @Inject constructor( } private fun onAccessControlPointDataReceived(data: RecordAccessControlPointData) = viewModelScope.launch { + println("AAA: Response code: ${data}") when (data) { is NumberOfRecordsData -> onNumberOfRecordsReceived(data.numberOfRecords) is ResponseData -> when (data.responseCode) { @@ -303,6 +305,7 @@ internal class GLSViewModel @Inject constructor( try { recordAccessControlPointCharacteristic.write(RecordAccessControlPointInputParser.reportLastStoredRecord().value) } catch (e: Exception) { + e.printStackTrace() _state.value = _state.value.copyWithNewRequestStatus(RequestStatus.FAILED) } } @@ -313,6 +316,7 @@ internal class GLSViewModel @Inject constructor( try { recordAccessControlPointCharacteristic.write(RecordAccessControlPointInputParser.reportFirstStoredRecord().value) } catch (e: Exception) { + e.printStackTrace() _state.value = _state.value.copyWithNewRequestStatus(RequestStatus.FAILED) } } @@ -323,6 +327,7 @@ internal class GLSViewModel @Inject constructor( try { recordAccessControlPointCharacteristic.write(RecordAccessControlPointInputParser.reportNumberOfAllStoredRecords().value) } catch (e: Exception) { + e.printStackTrace() _state.value = _state.value.copyWithNewRequestStatus(RequestStatus.FAILED) } } diff --git a/profile_gls/src/test/java/no/nordicsemi/android/gls/GLSViewModelTest.kt b/profile_gls/src/test/java/no/nordicsemi/android/gls/GLSViewModelTest.kt index f323f0fe..9e8866b7 100644 --- a/profile_gls/src/test/java/no/nordicsemi/android/gls/GLSViewModelTest.kt +++ b/profile_gls/src/test/java/no/nordicsemi/android/gls/GLSViewModelTest.kt @@ -1,7 +1,6 @@ package no.nordicsemi.android.gls import android.content.Context -import io.mockk.coJustRun import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.impl.annotations.RelaxedMockK @@ -13,6 +12,7 @@ import io.mockk.mockkStatic import io.mockk.spyk import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.delay import kotlinx.coroutines.runBlocking import kotlinx.coroutines.test.UnconfinedTestDispatcher import kotlinx.coroutines.test.advanceUntilIdle @@ -26,13 +26,14 @@ import no.nordicsemi.android.common.navigation.Navigator import no.nordicsemi.android.gls.data.WorkingMode import no.nordicsemi.android.gls.main.view.OnWorkingModeSelected import no.nordicsemi.android.gls.main.viewmodel.GLSViewModel -import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattCharacteristic +import no.nordicsemi.android.kotlin.ble.client.main.ClientScope import no.nordicsemi.android.kotlin.ble.core.MockServerDevice import no.nordicsemi.android.kotlin.ble.core.ServerDevice import no.nordicsemi.android.kotlin.ble.core.data.BleGattConnectionStatus import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionState import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionStateWithStatus import no.nordicsemi.android.kotlin.ble.profile.gls.data.RequestStatus +import no.nordicsemi.android.kotlin.ble.server.main.ServerScope import no.nordicsemi.android.ui.view.NordicLoggerFactory import no.nordicsemi.android.ui.view.StringConst import org.junit.After @@ -40,15 +41,12 @@ import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.robolectric.RobolectricTestRunner /** * Example local unit test, which will execute on the development machine (host). * * See [testing documentation](http://d.android.com/tools/testing). */ -@RunWith(RobolectricTestRunner::class) internal class GLSViewModelTest { @get:Rule @@ -69,9 +67,6 @@ internal class GLSViewModelTest { @RelaxedMockK lateinit var logger: NordicBlekLogger - @MockK - lateinit var characteristic: BleGattCharacteristic - lateinit var viewModel: GLSViewModel lateinit var glsServer: GlsServer @@ -94,6 +89,11 @@ internal class GLSViewModelTest { @Before fun before() { runBlocking { + mockkStatic("no.nordicsemi.android.kotlin.ble.client.main.ClientScopeKt") + every { ClientScope } returns CoroutineScope(UnconfinedTestDispatcher()) + mockkStatic("no.nordicsemi.android.kotlin.ble.server.main.ServerScopeKt") + every { ServerScope } returns CoroutineScope(UnconfinedTestDispatcher()) + viewModel = spyk(GLSViewModel(context, navigator, analytics, stringConst, object : NordicLoggerFactory { override fun createNordicLogger( @@ -124,8 +124,8 @@ internal class GLSViewModelTest { @Test fun checkOnClick() = runTest { - every { viewModel.recordAccessControlPointCharacteristic } returns characteristic - coJustRun { characteristic.write(any(), any()) } +// every { viewModel.recordAccessControlPointCharacteristic } returns characteristic +// coJustRun { characteristic.write(any(), any()) } viewModel.onEvent(OnWorkingModeSelected(WorkingMode.FIRST)) @@ -154,16 +154,23 @@ internal class GLSViewModelTest { @Test fun checkOnClick2() = runTest { - every { viewModel.recordAccessControlPointCharacteristic } returns characteristic - coJustRun { characteristic.write(any(), any()) } - mockkStatic("no.nordicsemi.android.kotlin.ble.client.main.ClientDeviceExtKt") every { stringConst.APP_NAME } returns "Test" justRun { viewModel.logAnalytics(any()) } viewModel.handleResult(NavigationResult.Success(device)) - viewModel.onEvent(OnWorkingModeSelected(WorkingMode.FIRST)) advanceUntilIdle() - assertEquals(RequestStatus.PENDING, viewModel.state.value.glsServiceData.requestStatus) + delay(1000) + viewModel.onEvent(OnWorkingModeSelected(WorkingMode.FIRST)) + +// advanceUntilIdle() +// assertEquals(RequestStatus.PENDING, viewModel.state.value.glsServiceData.requestStatus) +// +//// glsServer.glsCharacteristic.setValue(glsServer.records.first()) +// glsServer.racpCharacteristic.setValue(glsServer.racp) +// +// advanceUntilIdle() +// +// assertEquals(RequestStatus.SUCCESS, viewModel.state.value.glsServiceData.requestStatus) } } diff --git a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSRepository.kt b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSRepository.kt index 893aaff5..29db9d17 100644 --- a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSRepository.kt +++ b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSRepository.kt @@ -38,6 +38,7 @@ import kotlinx.coroutines.flow.asSharedFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.map import no.nordicsemi.android.common.core.simpleSharedFlow +import no.nordicsemi.android.common.logger.BlekLoggerAndLauncher import no.nordicsemi.android.common.logger.NordicBlekLogger import no.nordicsemi.android.hrs.data.HRSServiceData import no.nordicsemi.android.kotlin.ble.core.ServerDevice @@ -57,7 +58,7 @@ class HRSRepository @Inject constructor( private val serviceManager: ServiceManager, private val stringConst: StringConst ) { - private var logger: NordicBlekLogger? = null + private var logger: BlekLoggerAndLauncher? = null private val _data = MutableStateFlow(HRSServiceData()) internal val data = _data.asStateFlow() diff --git a/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSRepository.kt b/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSRepository.kt index 9ef54683..db0cedd7 100644 --- a/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSRepository.kt +++ b/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSRepository.kt @@ -38,6 +38,7 @@ import kotlinx.coroutines.flow.asSharedFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.map import no.nordicsemi.android.common.core.simpleSharedFlow +import no.nordicsemi.android.common.logger.BlekLoggerAndLauncher import no.nordicsemi.android.common.logger.NordicBlekLogger import no.nordicsemi.android.hts.data.HTSServiceData import no.nordicsemi.android.hts.view.TemperatureUnit @@ -58,7 +59,7 @@ class HTSRepository @Inject constructor( private val serviceManager: ServiceManager, private val stringConst: StringConst ) { - private var logger: NordicBlekLogger? = null + private var logger: BlekLoggerAndLauncher? = null private val _data = MutableStateFlow(HTSServiceData()) internal val data = _data.asStateFlow() diff --git a/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXRepository.kt b/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXRepository.kt index 5d85fc54..f7ecdcf8 100644 --- a/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXRepository.kt +++ b/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXRepository.kt @@ -38,6 +38,7 @@ import kotlinx.coroutines.flow.asSharedFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.map import no.nordicsemi.android.common.core.simpleSharedFlow +import no.nordicsemi.android.common.logger.BlekLoggerAndLauncher import no.nordicsemi.android.common.logger.NordicBlekLogger import no.nordicsemi.android.kotlin.ble.core.ServerDevice import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionState @@ -57,7 +58,7 @@ class PRXRepository @Inject internal constructor( private val serviceManager: ServiceManager, private val stringConst: StringConst ) { - private var logger: NordicBlekLogger? = null + private var logger: BlekLoggerAndLauncher? = null private val _data = MutableStateFlow(PRXServiceData()) internal val data = _data.asStateFlow() diff --git a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSRepository.kt b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSRepository.kt index 90adc396..d55efa3e 100644 --- a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSRepository.kt +++ b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSRepository.kt @@ -38,6 +38,7 @@ import kotlinx.coroutines.flow.asSharedFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.map import no.nordicsemi.android.common.core.simpleSharedFlow +import no.nordicsemi.android.common.logger.BlekLoggerAndLauncher import no.nordicsemi.android.common.logger.NordicBlekLogger import no.nordicsemi.android.kotlin.ble.core.ServerDevice import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionState @@ -57,7 +58,7 @@ class RSCSRepository @Inject constructor( private val serviceManager: ServiceManager, private val stringConst: StringConst ) { - private var logger: NordicBlekLogger? = null + private var logger: BlekLoggerAndLauncher? = null private val _data = MutableStateFlow(RSCSServiceData()) internal val data = _data.asStateFlow() diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt index 681ea1b1..c4000fe0 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt @@ -38,6 +38,7 @@ import kotlinx.coroutines.flow.asSharedFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.map import no.nordicsemi.android.common.core.simpleSharedFlow +import no.nordicsemi.android.common.logger.BlekLoggerAndLauncher import no.nordicsemi.android.common.logger.NordicBlekLogger import no.nordicsemi.android.kotlin.ble.core.ServerDevice import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionState @@ -63,7 +64,7 @@ class UARTRepository @Inject internal constructor( private val configurationDataSource: ConfigurationDataSource, private val stringConst: StringConst ) { - private var logger: NordicBlekLogger? = null + private var logger: BlekLoggerAndLauncher? = null private val _data = MutableStateFlow(UARTServiceData()) internal val data = _data.asStateFlow()