diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt index a2cdab6c..0ef5fe59 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt @@ -476,11 +476,13 @@ class MeshService : Service(), Logging { private val myNodeID get() = toNodeID(myNodeNum) /// Admin channel index - private val adminChannelIndex: Int - get() = if (nodeDBbyNodeNum[myNodeNum]?.hasPKC == true) { // TODO use meta.hasPKC - DataPacket.PKC_CHANNEL_INDEX - } else { - channelSet.settingsList + private val MeshPacket.Builder.adminChannelIndex: Int + get() = when { + myNodeNum == to -> 0 + nodeDBbyNodeNum[myNodeNum]?.hasPKC == true && nodeDBbyNodeNum[to]?.hasPKC == true -> + DataPacket.PKC_CHANNEL_INDEX + + else -> channelSet.settingsList .indexOfFirst { it.name.equals("admin", ignoreCase = true) } .coerceAtLeast(0) }