Add text loggin to UART profile

This commit is contained in:
Sylwester Zieliński
2022-04-04 16:24:46 +02:00
parent 39adf9149a
commit 40093790c7
2 changed files with 9 additions and 4 deletions

View File

@@ -1,8 +1,6 @@
package no.nordicsemi.android.logger
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.util.Log
import dagger.assisted.Assisted
import dagger.assisted.AssistedInject
@@ -31,7 +29,8 @@ class ToolboxLogger @AssistedInject constructor(
if (logSession != null) {
Logger.log(logSession, LogContract.Log.Level.fromPriority(level), message)
}
Log.println(level, LOG_TAG, message)
val logPriority = if (level <= Log.ASSERT) level else Log.INFO
Log.println(logPriority, LOG_TAG, message)
}
fun openLogger() {

View File

@@ -21,6 +21,7 @@
*/
package no.nordicsemi.android.uart.data
import android.annotation.SuppressLint
import android.bluetooth.BluetoothGatt
import android.bluetooth.BluetoothGattCharacteristic
import android.bluetooth.BluetoothGattService
@@ -36,6 +37,7 @@ import no.nordicsemi.android.ble.WriteRequest
import no.nordicsemi.android.ble.common.callback.battery.BatteryLevelResponse
import no.nordicsemi.android.ble.ktx.asFlow
import no.nordicsemi.android.ble.ktx.asValidResponseFlow
import no.nordicsemi.android.ble.ktx.suspend
import no.nordicsemi.android.logger.ToolboxLogger
import no.nordicsemi.android.service.ConnectionObserverAdapter
import no.nordicsemi.android.utils.EMPTY
@@ -83,9 +85,11 @@ internal class UARTManager(
private inner class UARTManagerGattCallback : BleManagerGattCallback() {
@SuppressLint("WrongConstant")
override fun initialize() {
setNotificationCallback(txCharacteristic).asFlow().onEach {
val text: String = it.getStringValue(0) ?: String.EMPTY
log(10, "\"$text\" received")
data.value = data.value.copy(messages = data.value.messages + UARTOutputRecord(text))
}.launchIn(scope)
@@ -134,6 +138,7 @@ internal class UARTManager(
}
}
@SuppressLint("WrongConstant")
fun send(text: String) {
if (rxCharacteristic == null) return
if (!TextUtils.isEmpty(text)) {
@@ -147,7 +152,8 @@ internal class UARTManager(
if (!useLongWrite) {
request.split()
}
request.enqueue()
request.suspend()
log(10, "\"$text\" sent")
}
}
}