public void addDataTransferProgressListener(OnDatatransferProgressListener listener) { synchronized (dataTransferListeners) { dataTransferListeners.add(listener); } if (entity != null) { ((ProgressiveDataTransfer) entity).addDataTransferProgressListener(listener); } }
public void removeDataTransferProgressListener(OnDatatransferProgressListener listener) { synchronized (dataTransferListeners) { dataTransferListeners.remove(listener); } if (entity != null) { ((ProgressiveDataTransfer) entity).removeDataTransferProgressListener(listener); } }
protected RemoteOperationResult uploadFile(OwnCloudClient client) throws IOException { int status; RemoteOperationResult result; try { File f = new File(localPath); entity = new FileRequestEntity(f, mimeType); synchronized (dataTransferListeners) { ((ProgressiveDataTransfer) entity) .addDataTransferProgressListeners(dataTransferListeners); } if (requiredEtag != null && requiredEtag.length() > 0) { putMethod.addRequestHeader(IF_MATCH_HEADER, "\"" + requiredEtag + "\""); } putMethod.addRequestHeader(OC_TOTAL_LENGTH_HEADER, String.valueOf(f.length())); putMethod.addRequestHeader(OC_X_OC_MTIME_HEADER, lastModificationTimestamp); putMethod.setRequestEntity(entity); status = client.executeMethod(putMethod); result = new RemoteOperationResult(isSuccess(status), putMethod); client.exhaustResponse(putMethod.getResponseBodyAsStream()); } finally { putMethod.releaseConnection(); // let the connection available for other methods } return result; }
((ProgressiveDataTransfer) entity).addDataTransferProgressListeners(dataTransferListeners);