private void runAsyncImpl(final int fragment, RunAsyncCallback callback) { if (isLoaded[fragment]) { assert allCallbacks[fragment] == null; this.onSuccessExecutor.execute(this, callback); return; } Object[] callbacks = allCallbacks[fragment]; if (callbacks == null) { callbacks = allCallbacks[fragment] = new RunAsyncCallback[0]; } // Take advantage of no range checking in web mode. assert GWT.isScript(); callbacks[callbacks.length] = callback; if (!isLoading(fragment)) { inject(fragment, new AsyncFragmentLoader.LoadTerminatedHandler() { @Override public void loadTerminated(Throwable reason) { Object[] callbacks = allCallbacks[fragment]; if (callbacks != null) { allCallbacks[fragment] = null; for (Object callback : callbacks) { ((RunAsyncCallback) callback).onFailure(reason); } } } }); } }
private void runAsyncImpl(final int fragment, RunAsyncCallback callback) { if (isLoaded[fragment]) { assert allCallbacks[fragment] == null; this.onSuccessExecutor.execute(this, callback); return; } Object[] callbacks = allCallbacks[fragment]; if (callbacks == null) { callbacks = allCallbacks[fragment] = new RunAsyncCallback[0]; } // Take advantage of no range checking in web mode. assert GWT.isScript(); callbacks[callbacks.length] = callback; if (!isLoading(fragment)) { inject(fragment, new AsyncFragmentLoader.LoadTerminatedHandler() { @Override public void loadTerminated(Throwable reason) { Object[] callbacks = allCallbacks[fragment]; if (callbacks != null) { allCallbacks[fragment] = null; for (Object callback : callbacks) { ((RunAsyncCallback) callback).onFailure(reason); } } } }); } }
private void runAsyncImpl(final int fragment, RunAsyncCallback callback) { if (isLoaded[fragment]) { assert allCallbacks[fragment] == null; this.onSuccessExecutor.execute(this, callback); return; } Object[] callbacks = allCallbacks[fragment]; if (callbacks == null) { callbacks = allCallbacks[fragment] = new RunAsyncCallback[0]; } // Take advantage of no range checking in web mode. assert GWT.isScript(); callbacks[callbacks.length] = callback; if (!isLoading(fragment)) { inject(fragment, new AsyncFragmentLoader.LoadTerminatedHandler() { @Override public void loadTerminated(Throwable reason) { Object[] callbacks = allCallbacks[fragment]; if (callbacks != null) { allCallbacks[fragment] = null; for (Object callback : callbacks) { ((RunAsyncCallback) callback).onFailure(reason); } } } }); } }