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

@@ -24,6 +24,7 @@ public class TimeStamp
{
private static SimpleDateFormat mSDFDate = new SimpleDateFormat( "yyyyMMdd" );
private static SimpleDateFormat mSDFTime = new SimpleDateFormat( "HHmmss" );
private static SimpleDateFormat mSDFTimeWithMilliseconds = new SimpleDateFormat( "HHmmss.SSS" );
/**
* Returns the current system date formatted as yyyy-MM-dd
@@ -57,6 +58,14 @@ public class TimeStamp
return mSDFTime.format( new Date( timestamp ) );
}
/**
* Returns the timestamp formatted as a time of HH:mm:ss
*/
public static String getFormattedTimeWithMilliseconds( long timestamp )
{
return mSDFTime.format( new Date( timestamp ) );
}
/**
* Returns current system time formatted as yyyy-MM-dd*HH:mm:ss
* with the * representing the separator attribute
@@ -80,5 +89,30 @@ public class TimeStamp
return sb.toString();
}
/**
* Returns current system time formatted as yyyy-MM-dd*HH:mm:ss.SSS
* with the * representing the separator attribute
*/
public static String getLongTimeStamp( String separator )
{
return getLongTimeStamp( System.currentTimeMillis(), separator );
}
/**
* Returns timestamp formatted as yyyy-MM-dd*HH:mm:ss.SSS
* with the * representing the separator attribute
*/
public static String getLongTimeStamp( long timestamp, String separator )
{
StringBuilder sb = new StringBuilder();
sb.append( getFormattedDate( timestamp ) );
sb.append( separator );
sb.append( getFormattedTimeWithMilliseconds( timestamp ) );
return sb.toString();
}
}