getChannelReplacementList

fun getChannelReplacementList(new: List<ChannelSettings>, currentSettings: List<ChannelSettings>, minimumSlotCount: Int = 0, maximumSlotCount: Int = Int.MAX_VALUE): List<Channel>(source)

Builds an authoritative Channel list for a full replacement. Every position in new is emitted, and any trailing positions beyond new's range are emitted as disabled so the radio stops using them.

Unlike a diff, this never skips settings already present in currentSettings. The imported set is authoritative, and stale local cache entries must not suppress a radio write.