mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
gracefully handle when an esp32 bluetooth link slowly browns out
This commit is contained in:
parent
b3026ba6be
commit
bdd6e5de6c
6 changed files with 104 additions and 89 deletions
|
|
@ -1,7 +1,10 @@
|
|||
package com.geeksville.mesh.model
|
||||
|
||||
import android.os.RemoteException
|
||||
import androidx.compose.mutableStateOf
|
||||
import com.geeksville.android.Logging
|
||||
import com.geeksville.mesh.MeshProtos
|
||||
import com.geeksville.mesh.utf8
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
|
|
@ -35,9 +38,36 @@ object MessagesState : Logging {
|
|||
a.size == b.size // If the # of messages changes, consider it important for rerender
|
||||
})
|
||||
|
||||
/// add a message our GUI list of past msgs
|
||||
fun addMessage(m: TextMessage) {
|
||||
val l = messages.value.toMutableList()
|
||||
l.add(m)
|
||||
messages.value = l
|
||||
}
|
||||
|
||||
/// Send a message and added it to our GUI log
|
||||
fun sendMessage(str: String, dest: String? = null) {
|
||||
var error: String? = null
|
||||
val service = UIState.meshService
|
||||
if (service != null)
|
||||
try {
|
||||
service.sendData(
|
||||
dest,
|
||||
str.toByteArray(utf8),
|
||||
MeshProtos.Data.Type.CLEAR_TEXT_VALUE
|
||||
)
|
||||
} catch (ex: RemoteException) {
|
||||
error = "Error: ${ex.message}"
|
||||
}
|
||||
else
|
||||
error = "Error: No Mesh service"
|
||||
|
||||
MessagesState.addMessage(
|
||||
TextMessage(
|
||||
NodeDB.myId.value,
|
||||
str,
|
||||
errorMessage = error
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue