Waiting for a stop on service context never updates ServiceContextListener
I'm writing a simple little TV tune application.
When I initialize everything, I add a ServiceContextListener to my ServiceContext.
this ServiceContextListener seems to catch most of my NormalContentEvent events, and I can tune.
However, when I go to channel change, an interesting phenomena happens.
I issue a 'stop' on my ServiceContext. I then wait to hear something back from my ServiceContextListener about the presentation being stopped.
I get nothing back.
So after some digging, I found myself in ServiceContextImpl.java
callerContext = callerContextList;
if (callerContext != null)
System.out.println("Caller context is not null...2");
// Execute the runnable in each caller context in callerContextList
public void run()
System.out.println("Running the updater...");
// Notify listeners. Use a local copy of data so that it
// does not change while we are using it.
CallerContext cc = callerContextManager.getCurrentContext();
CCData data = getCCData(cc);
if ((data != null) && (data.listeners != null))
System.out.println("Context was not nulll...........");
log.debug("data or listeners was null - not notifying of event: " + event + ": "
I'll see the "Running the updater..." printlines for every time we hear a NormalContentEvent. However, on my stop, I'll only see the lines up to runInContext. I'm a little at a loss as to what I could be doing that could break this. I have other applications that seem to do exactly what I'm doing, and they 'stop' just fine.
Thanks in advance.