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

View File

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

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch 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.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattServices 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.kotlin.ble.profile.csc.CSCDataParser
import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.* import java.util.*
import javax.inject.Inject import javax.inject.Inject
@@ -65,6 +67,9 @@ internal class CSCService : NotificationService() {
@Inject @Inject
lateinit var repository: CSCRepository lateinit var repository: CSCRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient private lateinit var client: BleGattClient
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { 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 { 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 client.connectionState
.onEach { repository.onConnectionStateChanged(it) } .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.AppAnalytics
import no.nordicsemi.android.analytics.Profile import no.nordicsemi.android.analytics.Profile
import no.nordicsemi.android.analytics.ProfileConnectedEvent 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.NavigationResult
import no.nordicsemi.android.common.navigation.Navigator import no.nordicsemi.android.common.navigation.Navigator
import no.nordicsemi.android.gls.GlsDetailsDestinationId 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.RACPOpCode
import no.nordicsemi.android.kotlin.ble.profile.racp.RACPResponseCode import no.nordicsemi.android.kotlin.ble.profile.racp.RACPResponseCode
import no.nordicsemi.android.toolbox.scanner.ScannerDestinationId import no.nordicsemi.android.toolbox.scanner.ScannerDestinationId
import no.nordicsemi.android.ui.view.StringConst
import java.util.* import java.util.*
import javax.inject.Inject import javax.inject.Inject
@@ -96,7 +98,8 @@ internal class GLSViewModel @Inject constructor(
@ApplicationContext @ApplicationContext
private val context: Context, private val context: Context,
private val navigationManager: Navigator, private val navigationManager: Navigator,
private val analytics: AppAnalytics private val analytics: AppAnalytics,
private val stringConst: StringConst
) : ViewModel() { ) : ViewModel() {
private lateinit var client: BleGattClient private lateinit var client: BleGattClient
@@ -153,7 +156,9 @@ internal class GLSViewModel @Inject constructor(
} }
private fun startGattClient(device: ServerDevice) = viewModelScope.launch { 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 client.connectionState
.filterNotNull() .filterNotNull()

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch 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.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattServices 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.kotlin.ble.profile.hrs.HRSDataParser
import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.* import java.util.*
import javax.inject.Inject import javax.inject.Inject
@@ -67,6 +69,9 @@ internal class HRSService : NotificationService() {
@Inject @Inject
lateinit var repository: HRSRepository lateinit var repository: HRSRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient private lateinit var client: BleGattClient
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { 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 { 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 client.connectionState
.onEach { repository.onConnectionStateChanged(it) } .onEach { repository.onConnectionStateChanged(it) }

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch 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.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattServices 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.kotlin.ble.profile.hts.HTSDataParser
import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.* import java.util.*
import javax.inject.Inject import javax.inject.Inject
@@ -65,6 +67,9 @@ internal class HTSService : NotificationService() {
@Inject @Inject
lateinit var repository: HTSRepository lateinit var repository: HTSRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient private lateinit var client: BleGattClient
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { 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 { 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 client.connectionState
.onEach { repository.onConnectionStateChanged(it) } .onEach { repository.onConnectionStateChanged(it) }

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch 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.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattCharacteristic 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.kotlin.ble.server.main.service.BluetoothGattServerConnection
import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.* import java.util.*
import javax.inject.Inject import javax.inject.Inject
@@ -80,6 +82,9 @@ internal class PRXService : NotificationService() {
@Inject @Inject
lateinit var repository: PRXRepository lateinit var repository: PRXRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient private lateinit var client: BleGattClient
private lateinit var server: BleGattServer private lateinit var server: BleGattServer
@@ -157,7 +162,9 @@ internal class PRXService : NotificationService() {
} }
private fun startGattClient(device: ServerDevice) = lifecycleScope.launch { 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 client.connectionStateWithStatus
.filterNotNull() .filterNotNull()

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch 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.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattServices 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.kotlin.ble.profile.rscs.RSCSDataParser
import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.* import java.util.*
import javax.inject.Inject import javax.inject.Inject
@@ -65,6 +67,9 @@ internal class RSCSService : NotificationService() {
@Inject @Inject
lateinit var repository: RSCSRepository lateinit var repository: RSCSRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient private lateinit var client: BleGattClient
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { 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 { 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 client.connectionState
.onEach { repository.onConnectionStateChanged(it) } .onEach { repository.onConnectionStateChanged(it) }

View File

@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch 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.callback.BleGattClient
import no.nordicsemi.android.kotlin.ble.client.main.connect import no.nordicsemi.android.kotlin.ble.client.main.connect
import no.nordicsemi.android.kotlin.ble.client.main.service.BleGattCharacteristic 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.kotlin.ble.profile.battery.BatteryLevelParser
import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.DEVICE_DATA
import no.nordicsemi.android.service.NotificationService import no.nordicsemi.android.service.NotificationService
import no.nordicsemi.android.ui.view.StringConst
import java.util.* import java.util.*
import javax.inject.Inject import javax.inject.Inject
@@ -68,6 +70,9 @@ internal class UARTService : NotificationService() {
@Inject @Inject
lateinit var repository: UARTRepository lateinit var repository: UARTRepository
@Inject
lateinit var stringConst: StringConst
private lateinit var client: BleGattClient private lateinit var client: BleGattClient
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { 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 { 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 client.connectionState
.onEach { repository.onConnectionStateChanged(it) } .onEach { repository.onConnectionStateChanged(it) }