mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
feat: add traceroute (#620)
This commit is contained in:
parent
72c278c92c
commit
da5f1d529d
8 changed files with 95 additions and 2 deletions
|
|
@ -13,6 +13,7 @@ import androidx.core.os.bundleOf
|
|||
import androidx.core.text.HtmlCompat
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.fragment.app.setFragmentResult
|
||||
import androidx.lifecycle.asLiveData
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.geeksville.mesh.NodeInfo
|
||||
|
|
@ -86,6 +87,12 @@ class UsersFragment : ScreenFragment("Users"), Logging {
|
|||
model.requestPosition(node.num)
|
||||
}
|
||||
}
|
||||
R.id.traceroute -> {
|
||||
if (position > 0 && user != null) {
|
||||
debug("requesting traceroute for ${user.longName}")
|
||||
model.requestTraceroute(node.num)
|
||||
}
|
||||
}
|
||||
R.id.reboot -> {
|
||||
MaterialAlertDialogBuilder(requireContext())
|
||||
.setTitle("${getString(R.string.reboot)}\n${user?.longName}?")
|
||||
|
|
@ -323,6 +330,25 @@ class UsersFragment : ScreenFragment("Users"), Logging {
|
|||
model.nodeDB.nodes.observe(viewLifecycleOwner) {
|
||||
nodesAdapter.onNodesChanged(it.values.toTypedArray())
|
||||
}
|
||||
|
||||
model.packetResponse.asLiveData().observe(viewLifecycleOwner) { meshLog ->
|
||||
meshLog?.meshPacket?.let { meshPacket ->
|
||||
val routeList = meshLog.routeDiscovery?.routeList
|
||||
fun nodeName(num: Int) = model.nodeDB.nodesByNum?.get(num)?.user?.longName
|
||||
|
||||
var routeStr = "${nodeName(meshPacket.from)} --> "
|
||||
routeList?.forEach { num -> routeStr += "${nodeName(num)} --> " }
|
||||
routeStr += "${nodeName(meshPacket.to)}"
|
||||
|
||||
MaterialAlertDialogBuilder(requireContext())
|
||||
.setTitle(R.string.traceroute)
|
||||
.setMessage(routeStr)
|
||||
.setPositiveButton(R.string.okay) { _, _ -> }
|
||||
.show()
|
||||
|
||||
model.clearPacketResponse()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue