mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-11 16:17:24 -05:00
Updates channel state to ensure teardown processing is completed during
a call end and/or during a commanded stop.
This commit is contained in:
@@ -135,21 +135,8 @@ public class ChannelState extends Module implements ICallEventProvider, IDecoder
|
||||
@Override
|
||||
public void stop()
|
||||
{
|
||||
mMutableMetadata.resetAllAttributes();
|
||||
|
||||
mTrafficChannelEndListener = null;
|
||||
|
||||
if(mTrafficChannelCallEvent != null)
|
||||
{
|
||||
mTrafficChannelCallEvent.end();
|
||||
broadcast(mTrafficChannelCallEvent);
|
||||
}
|
||||
|
||||
mTrafficChannelCallEvent = null;
|
||||
|
||||
processTeardownState();
|
||||
mSquelchLocked = false;
|
||||
|
||||
setState(State.TEARDOWN);
|
||||
}
|
||||
|
||||
public void dispose()
|
||||
@@ -420,9 +407,13 @@ public class ChannelState extends Module implements ICallEventProvider, IDecoder
|
||||
|
||||
mMutableMetadata.receive(new AttributeChangeRequest<State>(Attribute.CHANNEL_STATE, mState));
|
||||
|
||||
if(mTrafficChannelEndListener != null)
|
||||
if(mTrafficChannelEndListener != null && mTrafficChannelCallEvent != null)
|
||||
{
|
||||
mTrafficChannelCallEvent.end();
|
||||
broadcast(mTrafficChannelCallEvent);
|
||||
mTrafficChannelEndListener.callEnd(mTrafficChannelCallEvent.getChannel());
|
||||
mTrafficChannelEndListener = null;
|
||||
mTrafficChannelCallEvent = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -300,6 +300,7 @@ public abstract class TunerChannelSource extends ComplexSource implements ISourc
|
||||
|
||||
mScheduledFuture = null;
|
||||
|
||||
getHeartbeatManager().broadcast();
|
||||
performDisposal();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user