feat: implement PacketResponseState.Error (#633)

This commit is contained in:
Andre K 2023-05-12 18:29:31 -03:00 committed by GitHub
parent 2502bee55f
commit 068f5e7544
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 13 deletions

View file

@ -225,8 +225,8 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) {
}
)
if (isWaiting) PacketResponseStateDialog(
packetResponseState as PacketResponseState.Loading,
if (isWaiting || packetResponseState is PacketResponseState.Error) PacketResponseStateDialog(
packetResponseState,
onDismiss = {
packetResponseState = PacketResponseState.Empty
viewModel.clearPacketResponse()
@ -235,6 +235,11 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) {
if (isWaiting) LaunchedEffect(configResponse) {
val data = configResponse?.meshPacket?.decoded
if (data?.portnumValue == Portnums.PortNum.ROUTING_APP_VALUE) {
val parsed = MeshProtos.Routing.parseFrom(data.payload)
if (parsed.errorReason != MeshProtos.Routing.Error.NONE)
packetResponseState = PacketResponseState.Error(parsed.errorReason.toString())
}
if (data?.portnumValue == Portnums.PortNum.ADMIN_APP_VALUE) {
viewModel.clearPacketResponse()
val parsed = AdminProtos.AdminMessage.parseFrom(data.payload)