builder = new OkDownload.Builder(context); builder.connectionFactory(new DownloadConnection.Factory() { @Override public DownloadConnection create(String url) throws IOException { if (builder == null) builder = new OkDownload.Builder(context); builder.monitor(downloadMonitor); if (builder != null) OkDownload.setSingletonInstance(builder.build());
new OkDownload.Builder(application) .downloadDispatcher(mockDownloadDispatcher) .callbackDispatcher(mockCallbackDispatcher) .downloadStore(mockDownloadStore) .connectionFactory(mockConnectionFactory) .outputStreamFactory(mockOutputFactory) .processFileStrategy(mockProcessFileStrategy) .downloadStrategy(mockDownloadStrategy) .monitor(mockMonitor); OkDownload okDownload = builder.build();
@Test public void create_NoParam() { OkDownload.Builder builder = new OkDownload.Builder(application); OkDownload okDownload = builder.build(); assertThat(okDownload.downloadDispatcher()).isInstanceOf(DownloadDispatcher.class); assertThat(okDownload.callbackDispatcher()).isInstanceOf(CallbackDispatcher.class); assertThat(okDownload.breakpointStore()).isInstanceOf(BreakpointStoreOnCache.class); assertThat(okDownload.connectionFactory()) .isInstanceOf(DownloadUrlConnection.Factory.class); assertThat(okDownload.outputStreamFactory()) .isInstanceOf(DownloadOutputStream.Factory.class); assertThat(okDownload.processFileStrategy()).isInstanceOf(ProcessFileStrategy.class); assertThat(okDownload.downloadStrategy()).isInstanceOf(DownloadStrategy.class); }
public static OkDownload with() { if (singleton == null) { synchronized (OkDownload.class) { if (singleton == null) { if (OkDownloadProvider.context == null) { throw new IllegalStateException("context == null"); } singleton = new Builder(OkDownloadProvider.context).build(); } } } return singleton; }