Add logger

This commit is contained in:
Sylwester Zielinski
2023-03-30 16:18:32 +02:00
parent 0309932f0d
commit a431df5e78
9 changed files with 70 additions and 11 deletions

View File

@@ -52,6 +52,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.NordicLogger
import no.nordicsemi.android.common.navigation.NavigationResult
import no.nordicsemi.android.common.navigation.Navigator
import no.nordicsemi.android.kotlin.ble.client.main.callback.BleGattClient
@@ -65,6 +66,7 @@ import no.nordicsemi.android.kotlin.ble.profile.bps.BloodPressureMeasurementPars
import no.nordicsemi.android.kotlin.ble.profile.bps.data.IntermediateCuffPressureData
import no.nordicsemi.android.kotlin.ble.profile.bps.IntermediateCuffPressureParser
import no.nordicsemi.android.toolbox.scanner.ScannerDestinationId
import no.nordicsemi.android.ui.view.StringConst
import java.util.*
import javax.inject.Inject
@@ -81,7 +83,8 @@ internal class BPSViewModel @Inject constructor(
@ApplicationContext
private val context: Context,
private val navigationManager: Navigator,
private val analytics: AppAnalytics
private val analytics: AppAnalytics,
private val stringConst: StringConst
) : ViewModel() {
private val _state = MutableStateFlow(BPSViewState())
@@ -114,7 +117,9 @@ internal class BPSViewModel @Inject constructor(
private fun startGattClient(device: ServerDevice) = viewModelScope.launch {
_state.value = _state.value.copy(deviceName = device.name)
client = device.connect(context)
val logger = NordicLogger(context, stringConst.APP_NAME, "BPS", device.address)
client = device.connect(context, logger = logger)
client.connectionState
.filterNotNull()

View File

@@ -43,6 +43,7 @@ import kotlinx.coroutines.launch
import no.nordicsemi.android.ble.common.data.cgm.CGMSpecificOpsControlPointData
import no.nordicsemi.android.cgms.data.CGMRecordWithSequenceNumber
import no.nordicsemi.android.cgms.data.CGMServiceCommand
import no.nordicsemi.android.common.logger.NordicLogger
import no.nordicsemi.android.kotlin.ble.client.main.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattCharacteristic
@@ -66,6 +67,7 @@ import no.nordicsemi.android.kotlin.ble.profile.racp.RACPOpCode
import no.nordicsemi.android.kotlin.ble.profile.racp.RACPResponseCode
import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import no.nordicsemi.android.utils.launchWithCatch
import java.util.*
import javax.inject.Inject
@@ -88,6 +90,9 @@ internal class CGMService : NotificationService() {
@Inject
lateinit var repository: CGMRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient
private var secured = false
@@ -126,7 +131,9 @@ internal class CGMService : NotificationService() {
}
private fun startGattClient(device: ServerDevice) = lifecycleScope.launch {
client = device.connect(this@CGMService)
val logger = NordicLogger(this@CGMService, stringConst.APP_NAME, "CGM", device.address)
client = device.connect(this@CGMService, logger = logger)
client.connectionState
.onEach { repository.onConnectionStateChanged(it) }

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
import no.nordicsemi.android.common.logger.NordicLogger
import no.nordicsemi.android.kotlin.ble.client.main.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattServices
@@ -49,6 +50,7 @@ import no.nordicsemi.android.kotlin.ble.profile.battery.BatteryLevelParser
import no.nordicsemi.android.kotlin.ble.profile.csc.CSCDataParser
import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.*
import javax.inject.Inject
@@ -65,6 +67,9 @@ internal class CSCService : NotificationService() {
@Inject
lateinit var repository: CSCRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
@@ -82,7 +87,9 @@ internal class CSCService : NotificationService() {
}
private fun startGattClient(device: ServerDevice) = lifecycleScope.launch {
client = device.connect(this@CSCService)
val logger = NordicLogger(this@CSCService, stringConst.APP_NAME, "CSC", device.address)
client = device.connect(this@CSCService, logger = logger)
client.connectionState
.onEach { repository.onConnectionStateChanged(it) }

View File

@@ -48,6 +48,7 @@ import kotlinx.coroutines.launch
import no.nordicsemi.android.analytics.AppAnalytics
import no.nordicsemi.android.analytics.Profile
import no.nordicsemi.android.analytics.ProfileConnectedEvent
import no.nordicsemi.android.common.logger.NordicLogger
import no.nordicsemi.android.common.navigation.NavigationResult
import no.nordicsemi.android.common.navigation.Navigator
import no.nordicsemi.android.gls.GlsDetailsDestinationId
@@ -77,6 +78,7 @@ import no.nordicsemi.android.kotlin.ble.profile.gls.data.ResponseData
import no.nordicsemi.android.kotlin.ble.profile.racp.RACPOpCode
import no.nordicsemi.android.kotlin.ble.profile.racp.RACPResponseCode
import no.nordicsemi.android.toolbox.scanner.ScannerDestinationId
import no.nordicsemi.android.ui.view.StringConst
import java.util.*
import javax.inject.Inject
@@ -96,7 +98,8 @@ internal class GLSViewModel @Inject constructor(
@ApplicationContext
private val context: Context,
private val navigationManager: Navigator,
private val analytics: AppAnalytics
private val analytics: AppAnalytics,
private val stringConst: StringConst
) : ViewModel() {
private lateinit var client: BleGattClient
@@ -153,7 +156,9 @@ internal class GLSViewModel @Inject constructor(
}
private fun startGattClient(device: ServerDevice) = viewModelScope.launch {
client = device.connect(context)
val logger = NordicLogger(context, stringConst.APP_NAME, "BPS", device.address)
client = device.connect(context, logger = logger)
client.connectionState
.filterNotNull()

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
import no.nordicsemi.android.common.logger.NordicLogger
import no.nordicsemi.android.kotlin.ble.client.main.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattServices
@@ -50,6 +51,7 @@ import no.nordicsemi.android.kotlin.ble.profile.hrs.BodySensorLocationParser
import no.nordicsemi.android.kotlin.ble.profile.hrs.HRSDataParser
import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.*
import javax.inject.Inject
@@ -67,6 +69,9 @@ internal class HRSService : NotificationService() {
@Inject
lateinit var repository: HRSRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
@@ -84,7 +89,9 @@ internal class HRSService : NotificationService() {
}
private fun startGattClient(device: ServerDevice) = lifecycleScope.launch {
client = device.connect(this@HRSService)
val logger = NordicLogger(this@HRSService, stringConst.APP_NAME, "CSC", device.address)
client = device.connect(this@HRSService, logger = logger)
client.connectionState
.onEach { repository.onConnectionStateChanged(it) }

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
import no.nordicsemi.android.common.logger.NordicLogger
import no.nordicsemi.android.kotlin.ble.client.main.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattServices
@@ -49,6 +50,7 @@ import no.nordicsemi.android.kotlin.ble.profile.battery.BatteryLevelParser
import no.nordicsemi.android.kotlin.ble.profile.hts.HTSDataParser
import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.*
import javax.inject.Inject
@@ -65,6 +67,9 @@ internal class HTSService : NotificationService() {
@Inject
lateinit var repository: HTSRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
@@ -82,7 +87,9 @@ internal class HTSService : NotificationService() {
}
private fun startGattClient(device: ServerDevice) = lifecycleScope.launch {
client = device.connect(this@HTSService)
val logger = NordicLogger(this@HTSService, stringConst.APP_NAME, "HTS", device.address)
client = device.connect(this@HTSService, logger = logger)
client.connectionState
.onEach { repository.onConnectionStateChanged(it) }

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
import no.nordicsemi.android.common.logger.NordicLogger
import no.nordicsemi.android.kotlin.ble.client.main.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattCharacteristic
@@ -62,6 +63,7 @@ import no.nordicsemi.android.kotlin.ble.server.main.service.BleServerGattService
import no.nordicsemi.android.kotlin.ble.server.main.service.BluetoothGattServerConnection
import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.*
import javax.inject.Inject
@@ -80,6 +82,9 @@ internal class PRXService : NotificationService() {
@Inject
lateinit var repository: PRXRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient
private lateinit var server: BleGattServer
@@ -157,7 +162,9 @@ internal class PRXService : NotificationService() {
}
private fun startGattClient(device: ServerDevice) = lifecycleScope.launch {
client = device.connect(this@PRXService, BleGattConnectOptions(autoConnect = true))
val logger = NordicLogger(this@PRXService, stringConst.APP_NAME, "PRX", device.address)
client = device.connect(this@PRXService, logger = logger)
client.connectionStateWithStatus
.filterNotNull()

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
import no.nordicsemi.android.common.logger.NordicLogger
import no.nordicsemi.android.kotlin.ble.client.main.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattServices
@@ -49,6 +50,7 @@ import no.nordicsemi.android.kotlin.ble.profile.battery.BatteryLevelParser
import no.nordicsemi.android.kotlin.ble.profile.rscs.RSCSDataParser
import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.*
import javax.inject.Inject
@@ -65,6 +67,9 @@ internal class RSCSService : NotificationService() {
@Inject
lateinit var repository: RSCSRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
@@ -82,7 +87,9 @@ internal class RSCSService : NotificationService() {
}
private fun startGattClient(device: ServerDevice) = lifecycleScope.launch {
client = device.connect(this@RSCSService)
val logger = NordicLogger(this@RSCSService, stringConst.APP_NAME, "RSCS", device.address)
client = device.connect(this@RSCSService, logger = logger)
client.connectionState
.onEach { repository.onConnectionStateChanged(it) }

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
import no.nordicsemi.android.common.logger.NordicLogger
import no.nordicsemi.android.kotlin.ble.client.main.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattCharacteristic
@@ -51,6 +52,7 @@ import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionState
import no.nordicsemi.android.kotlin.ble.profile.battery.BatteryLevelParser
import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.*
import javax.inject.Inject
@@ -68,6 +70,9 @@ internal class UARTService : NotificationService() {
@Inject
lateinit var repository: UARTRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
@@ -85,7 +90,9 @@ internal class UARTService : NotificationService() {
}
private fun startGattClient(device: ServerDevice) = lifecycleScope.launch {
client = device.connect(this@UARTService)
val logger = NordicLogger(this@UARTService, stringConst.APP_NAME, "UART", device.address)
client = device.connect(this@UARTService, logger = logger)
client.connectionState
.onEach { repository.onConnectionStateChanged(it) }