import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.files.InstantUploadBroadcastReceiver;
import com.owncloud.android.operations.ChunkedUploadFileOperation;
+import com.owncloud.android.operations.DownloadFileOperation;
import com.owncloud.android.operations.RemoteOperationResult;
import com.owncloud.android.operations.UploadFileOperation;
import com.owncloud.android.operations.RemoteOperationResult.ResultCode;
* @param file A file that could be in the queue of pending uploads
*/
public boolean isUploading(Account account, OCFile file) {
+ if (account == null || file == null) return false;
String targetKey = buildRemoteName(account, file);
synchronized (mPendingUploads) {
if (file.isDirectory()) {
}
}
}
+
+
+ /**
+ * Adds a listener interested in the progress of the download for a concrete file.
+ *
+ * @param listener Object to notify about progress of transfer.
+ * @param account ownCloud account holding the file of interest.
+ * @param file {@link OCfile} of interest for listener.
+ */
+ public void addDatatransferProgressListener (OnDatatransferProgressListener listener, Account account, OCFile file) {
+ if (account == null || file == null) return;
+ String targetKey = buildRemoteName(account, file);
+ UploadFileOperation target = null;
+ synchronized (mPendingUploads) {
+ if (!file.isDirectory()) {
+ target = mPendingUploads.get(targetKey);
+ } else {
+ // nothing to do for directories, right now
+ }
+ }
+ if (target != null) {
+ target.addDatatransferProgressListener(listener);
+ }
+ }
+
+
}
file.setCreationTimestamp(we.createTimestamp());
file.setFileLength(we.contentLength());
file.setMimetype(we.contentType());
- file.setModificationTimestamp(we.modifiedTimesamp());
+ file.setModificationTimestamp(we.modifiedTimestamp());
+ file.setModificationTimestampAtLastSyncForData(we.modifiedTimestamp());
// file.setEtag(mCurrentDownload.getEtag()); // TODO Etag, where available
}
*
* @param upload Upload operation starting.
*/
+ @SuppressWarnings("deprecation")
private void notifyUploadStart(UploadFileOperation upload) {
/// create status notification with a progress bar
mLastPercent = 0;