Search in sources :

Example 1 with RemoveRemoteFileOperation

use of com.owncloud.android.lib.resources.files.RemoveRemoteFileOperation in project android by owncloud.

the class RemoveFileOperation method run.

/**
     * Performs the remove operation
     * 
     * @param   client      Client object to communicate with the remote ownCloud server.
     */
@Override
protected RemoteOperationResult run(OwnCloudClient client) {
    RemoteOperationResult result = null;
    mFileToRemove = getStorageManager().getFileByPath(mRemotePath);
    boolean localRemovalFailed = false;
    if (!mOnlyLocalCopy) {
        RemoveRemoteFileOperation operation = new RemoveRemoteFileOperation(mRemotePath);
        result = operation.execute(client);
        if (result.isSuccess() || result.getCode() == ResultCode.FILE_NOT_FOUND) {
            localRemovalFailed = !(getStorageManager().removeFile(mFileToRemove, true, true));
        }
    } else {
        localRemovalFailed = !(getStorageManager().removeFile(mFileToRemove, false, true));
        if (!localRemovalFailed) {
            result = new RemoteOperationResult(ResultCode.OK);
        }
    }
    if (localRemovalFailed) {
        result = new RemoteOperationResult(ResultCode.LOCAL_STORAGE_NOT_REMOVED);
    }
    return result;
}
Also used : RemoteOperationResult(com.owncloud.android.lib.common.operations.RemoteOperationResult) RemoveRemoteFileOperation(com.owncloud.android.lib.resources.files.RemoveRemoteFileOperation)

Aggregations

RemoteOperationResult (com.owncloud.android.lib.common.operations.RemoteOperationResult)1 RemoveRemoteFileOperation (com.owncloud.android.lib.resources.files.RemoveRemoteFileOperation)1