From cbbbe3a131c579cebed405567e918a749cc0c31b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U=C4=9Fur=20Tafral=C4=B1?= Date: Sun, 12 Jul 2026 13:21:44 +0300 Subject: [PATCH] Clear frequency band map when switching P25 control channels (#2404) --- .../module/decode/p25/P25TrafficChannelManager.java | 1 + .../module/decode/p25/phase1/P25P1MessageProcessor.java | 9 +-------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/P25TrafficChannelManager.java b/src/main/java/io/github/dsheirer/module/decode/p25/P25TrafficChannelManager.java index 15337c88..534bc768 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/P25TrafficChannelManager.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/P25TrafficChannelManager.java @@ -199,6 +199,7 @@ public class P25TrafficChannelManager extends TrafficChannelManager implements I mTS1ChannelGrantEventMap.clear(); mTS2ChannelGrantEventMap.clear(); + mFrequencyBandMap.clear(); //Remove the control channel from the previous frequency mAllocatedTrafficChannelMap.remove(previous); diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageProcessor.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageProcessor.java index ba4ea5bb..03b9c812 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageProcessor.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageProcessor.java @@ -330,14 +330,7 @@ public class P25P1MessageProcessor implements Listener if(message instanceof IFrequencyBand) { IFrequencyBand bandIdentifier = (IFrequencyBand)message; - - //Only store the frequency band if it's new so we don't hold on to more than one instance of the - //frequency band message. Otherwise, we'll hold on to several instances of each message as they get - //injected into other messages with channel information. - if(!mFrequencyBandMap.containsKey(bandIdentifier.getIdentifier())) - { - mFrequencyBandMap.put(bandIdentifier.getIdentifier(), bandIdentifier); - } + mFrequencyBandMap.put(bandIdentifier.getIdentifier(), bandIdentifier); } }