@Override public void connectEnd(@NonNull DownloadTask task, int blockIndex, int responseCode, @NonNull Map<String, List<String>> responseHeaderFields) { for (DownloadListener listener : listenerList) { listener.connectEnd(task, blockIndex, responseCode, responseHeaderFields); } }
@Override public void connectEnd(@NonNull DownloadTask task, int blockIndex, int responseCode, @NonNull Map<String, List<String>> responseHeaderFields) { final DownloadListener[] listeners = getThreadSafeArray(task, realListenerMap); if (listeners == null) return; for (final DownloadListener realOne : listeners) { if (realOne == null) continue; realOne.connectEnd(task, blockIndex, responseCode, responseHeaderFields); } }
@Override public void run() { task.getListener().connectEnd(task, blockIndex, responseCode, requestHeaderFields); } });
@Override public void connectEnd(@NonNull final DownloadTask task, final int blockIndex, final int responseCode, @NonNull final Map<String, List<String>> requestHeaderFields) { Util.d(TAG, "<----- finish connection task(" + task.getId() + ") block(" + blockIndex + ") code[" + responseCode + "]" + requestHeaderFields); if (task.isAutoCallbackToUIThread()) { uiHandler.post(new Runnable() { @Override public void run() { task.getListener().connectEnd(task, blockIndex, responseCode, requestHeaderFields); } }); } else { task.getListener().connectEnd(task, blockIndex, responseCode, requestHeaderFields); } }
@Test public void connectEnd() throws Exception { listenerBunch.connectEnd(task, 1, 1, headerFields); verify(listener1).connectEnd(eq(task), eq(1), eq(1), eq(headerFields)); verify(listener2).connectEnd(eq(task), eq(1), eq(1), eq(headerFields)); }
verify(listener).connectStart(eq(task), eq(1), eq(headerFields)); dispatcher.dispatch().connectEnd(task, 2, 200, headerFields); verify(listener).connectEnd(eq(task), eq(2), eq(200), eq(headerFields));
verify(listener).connectStart(eq(task), eq(1), eq(headerFields)); dispatcher.dispatch().connectEnd(task, 2, 200, headerFields); verify(listener).connectEnd(eq(task), eq(2), eq(200), eq(headerFields));
verify(listener2).connectStart(eq(task), eq(1), eq(headerFields)); listener.connectEnd(task, 1, 200, headerFields); listener.connectEnd(noAttachTask, 1, 200, headerFields); verify(listener1).connectEnd(eq(task), eq(1), eq(200), eq(headerFields)); verify(listener2).connectEnd(eq(task), eq(1), eq(200), eq(headerFields));
if (responseHeaderFields == null) responseHeaderFields = new HashMap<>(); OkDownload.with().callbackDispatcher().dispatch().connectEnd(task, blockIndex, connected.getResponseCode(), responseHeaderFields);