Updated LTR Standard decoder state to new architecture to support

per-call recording and accurate state tracking.

Resolved issue with ThreadPoolManager limiting total number of scheduled
tasks (removed limiter - original intent is now OBE)

Updated ChannelState to better handle auxiliary decoder decode events,
so that when a fleetsync ident is at the end of the transmission, the
decode doesn't kick the channel back into a call state after it has
faded, causing static bursts and additional empty recordings.

Updated recording file name to include millisecond level precision, to
further avoid duplicate recording names
This commit is contained in:
denny
2015-09-26 07:37:40 -04:00
parent 9c69733034
commit 507ae5255e
11 changed files with 142 additions and 146 deletions

View File

@@ -27,7 +27,6 @@ public class LTRCallEvent extends CallEvent
{
private String mChannel;
private long mFrequency;
private int mValidCallMessages = 1;
public LTRCallEvent( DecoderType type,
CallEventType callEventType,
@@ -44,26 +43,6 @@ public class LTRCallEvent extends CallEvent
mFrequency = frequency;
}
/**
* LTR sends multiple CALL messages during a call. In order to detect noise
* bursts from valid calls, send every valid call message to this method
* and the event will keep a tally of valid call messages in order to
* determine if the call was a valid (and loggable) call event.
*/
public boolean addMessage( LTRStandardMessage message )
{
String talkgroup = message.getTalkgroupID();
if( talkgroup.contentEquals( getToID() ) )
{
mValidCallMessages++;
return true;
}
return false;
}
/**
* Checks if the message's talkgroup matches this call event. Counts the
* number of messages that match this call event to use in determining if
@@ -78,24 +57,12 @@ public class LTRCallEvent extends CallEvent
if( talkgroup != null && getToID() != null &&
talkgroup.contentEquals( getToID() ) )
{
mValidCallMessages++;
return true;
}
return false;
}
public boolean isValid()
{
if( getCallEventType() == CallEventType.CALL )
{
return mValidCallMessages > 1;
}
return true;
}
private Alias getAlias( String talkgroup )
{
if( hasAliasList() )