private static Future<?> deliverEvent(final ProgressListener listener, final ProgressEvent event) { if (listener instanceof DeliveryMode) { DeliveryMode mode = (DeliveryMode) listener; if (mode.isSyncCallSafe()) { // Safe to call the listener directly return quietlyCallListener(listener, event); } } // Not safe to call the listener directly; so submit an async task. // This is unfortunate as the listener should never block in the first // place, but such task submission is necessary to remain backward // compatible. return latestFutureTask = LazyHolder.executor.submit(new Runnable() { @Override public void run() { listener.progressChanged(event); } }); }
private static Future<?> deliverEvent(final ProgressListener listener, final ProgressEvent event) { if (listener instanceof DeliveryMode) { DeliveryMode mode = (DeliveryMode) listener; if (mode.isSyncCallSafe()) { // Safe to call the listener directly return quietlyCallListener(listener, event); } } // Not safe to call the listener directly; so submit an async task. // This is unfortunate as the listener should never block in the first // place, but such task submission is necessary to remain backward // compatible. return latestFutureTask = LazyHolder.executor.submit(new Runnable() { @Override public void run() { listener.progressChanged(event); } }); }
private static Future<?> deliverEvent(final ProgressListener listener, final ProgressEvent event) { if (listener instanceof DeliveryMode) { DeliveryMode mode = (DeliveryMode) listener; if (mode.isSyncCallSafe()) { // Safe to call the listener directly return quietlyCallListener(listener, event); } } // Not safe to call the listener directly; so submit an async task. // This is unfortunate as the listener should never block in the first // place, but such task submission is necessary to remain backward // compatible. return latestFutureTask = LazyHolder.executor.submit(new Runnable() { @Override public void run() { listener.progressChanged(event); } }); }