From 50e794eda145f1553be15523ccd605aec7000173 Mon Sep 17 00:00:00 2001 From: andrekir Date: Sun, 1 Oct 2023 11:49:20 -0300 Subject: [PATCH] fix: `incrementCompleted()` placement --- .../main/java/com/geeksville/mesh/model/UIState.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/model/UIState.kt b/app/src/main/java/com/geeksville/mesh/model/UIState.kt index e51672f09..cfb9f1a6a 100644 --- a/app/src/main/java/com/geeksville/mesh/model/UIState.kt +++ b/app/src/main/java/com/geeksville/mesh/model/UIState.kt @@ -857,10 +857,8 @@ class UIViewModel @Inject constructor( } private fun processPacketResponse(log: MeshLog?) { - val destNum = destNode.value?.num ?: return val packet = log?.meshPacket ?: return val data = packet.decoded - val destStr = destNum.toUInt() val fromStr = packet.from.toUInt() requestId.value = null @@ -875,11 +873,14 @@ class UIViewModel @Inject constructor( append(nodeName(packet.from)) } } + val destNum = destNode.value?.num ?: return + val destStr = destNum.toUInt() + if (data?.portnumValue == Portnums.PortNum.ROUTING_APP_VALUE) { val parsed = MeshProtos.Routing.parseFrom(data.payload) debug("packet for destNum $destStr received ${parsed.errorReason} from $fromStr") if (parsed.errorReason != MeshProtos.Routing.Error.NONE) { - setResponseStateError(parsed.errorReason.toString()) + setResponseStateError(parsed.errorReason.name) } else if (packet.from == destNum) { _radioConfigState.update { it.copy(responseState = ResponseState.Success(true)) } } @@ -896,7 +897,6 @@ class UIViewModel @Inject constructor( when (parsed.payloadVariantCase) { AdminProtos.AdminMessage.PayloadVariantCase.GET_CHANNEL_RESPONSE -> { val response = parsed.getChannelResponse - incrementCompleted() // Stop once we get to the first disabled entry if (response.role != ChannelProtos.Channel.Role.DISABLED) { _radioConfigState.update { state -> @@ -905,6 +905,7 @@ class UIViewModel @Inject constructor( } state.copy(channelList = updatedList) } + incrementCompleted() if (response.index + 1 < maxChannels && goChannels) { // Not done yet, request next channel getChannel(destNum, response.index + 1) @@ -914,7 +915,7 @@ class UIViewModel @Inject constructor( } } else { // Received last channel, get lora config (for default channel names) - setResponseStateTotal(radioConfigState.value.channelList.size + 1) + setResponseStateTotal(response.index + 1) getConfig(destNum, AdminProtos.AdminMessage.ConfigType.LORA_CONFIG_VALUE) } }