mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-03-30 19:54:27 -04:00
handle missing contactKey digit
This commit is contained in:
@@ -159,8 +159,12 @@ class UIViewModel @Inject constructor(
|
||||
.filter { it.value.port_num == Portnums.PortNum.WAYPOINT_APP_VALUE }
|
||||
}.asLiveData()
|
||||
|
||||
fun sendMessage(str: String, channel: Int = 0, dest: String = DataPacket.ID_BROADCAST) {
|
||||
val p = DataPacket(dest, channel, str)
|
||||
fun sendMessage(str: String, contactKey: String = "0${DataPacket.ID_BROADCAST}") {
|
||||
// contactKey: unique contact key filter (channel)+(nodeId)
|
||||
val channel = contactKey[0].digitToIntOrNull()
|
||||
val dest = if (channel != null) contactKey.substring(1) else contactKey
|
||||
|
||||
val p = DataPacket(dest, channel ?: 0, str)
|
||||
try {
|
||||
meshService?.send(p)
|
||||
} catch (ex: RemoteException) {
|
||||
|
||||
@@ -259,21 +259,12 @@ class MessagesFragment : Fragment(), Logging {
|
||||
binding.messageTitle.text = contactName
|
||||
}
|
||||
|
||||
// contactKey: unique contact key filter (channel)+(nodeId)
|
||||
fun sendMessage(str: String, contactKey: String) {
|
||||
model.sendMessage(
|
||||
str,
|
||||
contactKey[0].digitToInt(), // Channel
|
||||
contactKey.substring(1) // NodeID
|
||||
)
|
||||
}
|
||||
|
||||
binding.sendButton.setOnClickListener {
|
||||
debug("User clicked sendButton")
|
||||
|
||||
val str = binding.messageInputText.text.toString().trim()
|
||||
if (str.isNotEmpty())
|
||||
sendMessage(str, contactKey)
|
||||
model.sendMessage(str, contactKey)
|
||||
binding.messageInputText.setText("") // blow away the string the user just entered
|
||||
|
||||
// requireActivity().hideKeyboard()
|
||||
@@ -283,7 +274,7 @@ class MessagesFragment : Fragment(), Logging {
|
||||
debug("did IME action")
|
||||
|
||||
val str = binding.messageInputText.text.toString().trim()
|
||||
if (str.isNotEmpty()) sendMessage(str, contactKey)
|
||||
if (str.isNotEmpty()) model.sendMessage(str, contactKey)
|
||||
binding.messageInputText.setText("") // blow away the string the user just entered
|
||||
|
||||
// requireActivity().hideKeyboard()
|
||||
@@ -335,7 +326,7 @@ class MessagesFragment : Fragment(), Logging {
|
||||
binding.messageInputText.setText(newText)
|
||||
binding.messageInputText.setSelection(newText.length)
|
||||
} else {
|
||||
sendMessage(action.message, contactKey)
|
||||
model.sendMessage(action.message, contactKey)
|
||||
}
|
||||
}
|
||||
binding.quickChatLayout.addView(button)
|
||||
|
||||
Reference in New Issue
Block a user