Skip to content

Commit 49b95a9

Browse files
DSheirerDennis Sheirer
and
Dennis Sheirer
authored
#2202 DMR talker aliases now show in channel activity summary. Added 'TA-' prefix to talker aliases (DMR & P25) to visually highlight what the value represents. (#2203)
Co-authored-by: Dennis Sheirer <[email protected]>
1 parent a4bcdfa commit 49b95a9

File tree

4 files changed

+32
-7
lines changed

4 files changed

+32
-7
lines changed

src/main/java/io/github/dsheirer/identifier/alias/DmrTalkerAliasIdentifier.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public Protocol getProtocol()
5050
@Override
5151
public String toString()
5252
{
53-
return "A-" + super.toString();
53+
return "TA-" + super.toString();
5454
}
5555

5656
public static DmrTalkerAliasIdentifier create(String value)

src/main/java/io/github/dsheirer/identifier/alias/P25TalkerAliasIdentifier.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* *****************************************************************************
3-
* Copyright (C) 2014-2023 Dennis Sheirer
3+
* Copyright (C) 2014-2025 Dennis Sheirer
44
*
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU General Public License as published by
@@ -47,6 +47,12 @@ public Protocol getProtocol()
4747
return Protocol.APCO25;
4848
}
4949

50+
@Override
51+
public String toString()
52+
{
53+
return "TA-" + super.toString();
54+
}
55+
5056
public static P25TalkerAliasIdentifier create(String value)
5157
{
5258
return new P25TalkerAliasIdentifier(value);

src/main/java/io/github/dsheirer/identifier/alias/TalkerAliasManager.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* *****************************************************************************
3-
* Copyright (C) 2014-2024 Dennis Sheirer
3+
* Copyright (C) 2014-2025 Dennis Sheirer
44
*
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU General Public License as published by
@@ -123,6 +123,7 @@ public synchronized String getAliasSummary()
123123
{
124124
StringBuilder sb = new StringBuilder();
125125
sb.append("Active System Radio Aliases\n");
126+
sb.append(" Radio\tTalker Alias (TA-)\n");
126127
List<Integer> radios = new ArrayList<>(mAliasMap.keySet());
127128

128129
if(radios.size() > 0)
@@ -131,7 +132,7 @@ public synchronized String getAliasSummary()
131132
for(Integer radio : radios)
132133
{
133134
sb.append(" ").append(radio);
134-
sb.append("\t").append(mAliasMap.get(radio).getValue());
135+
sb.append("\t").append(mAliasMap.get(radio));
135136
sb.append("\n");
136137
}
137138
}

src/main/java/io/github/dsheirer/module/decode/dmr/DMRDecoderState.java

+21-3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import io.github.dsheirer.identifier.Role;
3636
import io.github.dsheirer.identifier.alias.DmrTalkerAliasIdentifier;
3737
import io.github.dsheirer.identifier.integer.IntegerIdentifier;
38+
import io.github.dsheirer.identifier.radio.RadioIdentifier;
3839
import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
3940
import io.github.dsheirer.log.LoggingSuppressor;
4041
import io.github.dsheirer.message.EmptyTimeslotPlaceholderMessage;
@@ -354,7 +355,7 @@ private void updateRestChannel(DMRChannel restChannel)
354355
//Only respond if this is a standard/control channel (not a traffic channel).
355356
if(mChannel.isStandardChannel() && getCurrentFrequency() > 0 &&
356357
restChannel.getDownlinkFrequency() > 0 &&
357-
restChannel.getDownlinkFrequency() != getCurrentFrequency() && mTrafficChannelManager != null)
358+
restChannel.getDownlinkFrequency() != getCurrentFrequency() && hasTrafficChannelManager())
358359
{
359360
mTrafficChannelManager.convertToTrafficChannel(mChannel, getCurrentFrequency(), restChannel,
360361
mNetworkConfigurationMonitor);
@@ -1206,6 +1207,13 @@ private void processLinkControl(LCMessage message, boolean isTerminator)
12061207
DmrTalkerAliasIdentifier updated = DmrTalkerAliasIdentifier
12071208
.create(alias.getTalkerAliasIdentifier().getValue() + talkerAlias.getValue());
12081209
getIdentifierCollection().update(updated);
1210+
1211+
Identifier fromRadio = getIdentifierCollection().getFromIdentifier();
1212+
1213+
if(hasTrafficChannelManager() && fromRadio instanceof RadioIdentifier radio)
1214+
{
1215+
mTrafficChannelManager.getTalkerAliasManager().update(radio, updated);
1216+
}
12091217
}
12101218
else
12111219
{
@@ -1232,6 +1240,13 @@ private void processLinkControl(LCMessage message, boolean isTerminator)
12321240
DmrTalkerAliasIdentifier updated = DmrTalkerAliasIdentifier.create(talkerAlias.getValue() +
12331241
alias.getTalkerAliasIdentifier().getValue());
12341242
getIdentifierCollection().update(updated);
1243+
1244+
Identifier fromRadio = getIdentifierCollection().getFromIdentifier();
1245+
1246+
if(hasTrafficChannelManager() && fromRadio instanceof RadioIdentifier radio)
1247+
{
1248+
mTrafficChannelManager.getTalkerAliasManager().update(radio, updated);
1249+
}
12351250
}
12361251
else
12371252
{
@@ -1492,10 +1507,13 @@ public String getActivitySummary()
14921507
{
14931508
if(networkAdded)
14941509
{
1495-
sb.append("\n\n");
1510+
sb.append("\n");
14961511
}
14971512

1498-
sb.append(mTrafficChannelManager.getTalkerAliasManager().getAliasSummary());
1513+
if(hasTrafficChannelManager())
1514+
{
1515+
sb.append(mTrafficChannelManager.getTalkerAliasManager().getAliasSummary());
1516+
}
14991517
}
15001518

15011519
return sb.toString();

0 commit comments

Comments
 (0)