/// <summary> /// Restarts download of the in-progress or completed item with the specified URL, beginning at // the specified byte offset. /// </summary> /// <param name="url"></param> /// <param name="byteOffset"></param> public void restart(String url, long byteOffset) { // Locals DownloadRequest downloadRequest; DownloadInformation downloadInformation; // Get download information downloadRequest = _downloadQueue.getDownloadRequest(url); if (downloadRequest == null) { downloadInformation = _completedDownloadCatalog.getDownloadInformation(url); if (downloadInformation == null) { return; } downloadRequest = new DownloadRequest(); downloadRequest.setUrl(downloadInformation.getUrl()); downloadRequest.setName(downloadInformation.getName()); downloadRequest.setLocale(downloadInformation.getLocale()); downloadRequest.setOverrideStorageLocation(downloadInformation.getStorageLocation()); downloadRequest.setDownloadPriority(downloadInformation.getDownloadPriority()); downloadRequest.setOverridePermittedNetworkTypes( downloadInformation.getPermittedNetworkTypes()); if (byteOffset == OFFSET_ZERO) { delete(downloadInformation.getUrl()); } else { downloadRequest.setAvailableLength(byteOffset); } } else { downloadRequest = new DownloadRequest(); downloadRequest.setUrl(downloadRequest.getUrl()); downloadRequest.setName(downloadRequest.getName()); downloadRequest.setLocale(downloadRequest.getLocale()); downloadRequest.setOverrideStorageLocation(downloadRequest.getOverrideStorageLocation()); downloadRequest.setDownloadPriority(downloadRequest.getDownloadPriority()); downloadRequest.setOverridePermittedNetworkTypes( downloadRequest.getOverridePermittedNetworkTypes()); } // Restart download information _downloadQueue.add(downloadRequest, _defaultStorageLocation, _permittedNetworkTypes); }