X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/7310bbc781d629141de3670ced3e51fc9d044532..e901b609baa4dd5f681e2a5257c9e504997e3377:/src/com/owncloud/android/operations/GetSharesOperation.java diff --git a/src/com/owncloud/android/operations/GetSharesOperation.java b/src/com/owncloud/android/operations/GetSharesOperation.java index 77acd321..d096788a 100644 --- a/src/com/owncloud/android/operations/GetSharesOperation.java +++ b/src/com/owncloud/android/operations/GetSharesOperation.java @@ -1,5 +1,5 @@ /* ownCloud Android client application - * Copyright (C) 2012-2013 ownCloud Inc. + * Copyright (C) 2012-2014 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -19,38 +19,28 @@ package com.owncloud.android.operations; import java.util.ArrayList; -import com.owncloud.android.datamodel.FileDataStorageManager; -import com.owncloud.android.datamodel.OCFile; -import com.owncloud.android.lib.network.OwnCloudClient; -import com.owncloud.android.lib.operations.common.RemoteOperation; -import com.owncloud.android.lib.operations.common.RemoteOperationResult; -import com.owncloud.android.lib.operations.common.OCShare; -import com.owncloud.android.lib.operations.common.ShareType; -import com.owncloud.android.lib.operations.remote.GetRemoteSharesOperation; -import com.owncloud.android.lib.utils.FileUtils; -import com.owncloud.android.utils.Log_OC; +import com.owncloud.android.lib.common.OwnCloudClient; +import com.owncloud.android.lib.common.operations.RemoteOperationResult; +import com.owncloud.android.lib.common.utils.Log_OC; +import com.owncloud.android.lib.resources.shares.OCShare; +import com.owncloud.android.lib.resources.shares.GetRemoteSharesOperation; +import com.owncloud.android.operations.common.SyncOperation; /** * Access to remote operation to get the share files/folders * Save the data in Database * * @author masensio + * @author David A. Velasco */ -public class GetSharesOperation extends RemoteOperation { +public class GetSharesOperation extends SyncOperation { private static final String TAG = GetSharesOperation.class.getSimpleName(); - protected FileDataStorageManager mStorageManager; - - - public GetSharesOperation(FileDataStorageManager storageManager) { - mStorageManager = storageManager; - } - @Override protected RemoteOperationResult run(OwnCloudClient client) { - GetRemoteSharesOperation operation = new GetRemoteSharesOperation(client.getBaseUri().toString()); + GetRemoteSharesOperation operation = new GetRemoteSharesOperation(); RemoteOperationResult result = operation.execute(client); if (result.isSuccess()) { @@ -62,41 +52,10 @@ public class GetSharesOperation extends RemoteOperation { shares.add((OCShare) obj); } - saveSharesDB(shares); + getStorageManager().saveSharesDB(shares); } return result; } - private void saveSharesDB(ArrayList shares) { - - if (shares.size() > 0) { - // Save share file - mStorageManager.saveShares(shares); - - ArrayList sharedFiles = new ArrayList(); - - for (OCShare share : shares) { - // Get the path - String path = share.getPath(); - if (share.isDirectory()) { - path = path + FileUtils.PATH_SEPARATOR; - } - - // Update OCFile with data from share: ShareByLink ¿and publicLink? - OCFile file = mStorageManager.getFileByPath(path); - if (file != null) { - if (share.getShareType().equals(ShareType.PUBLIC_LINK)) { - file.setShareByLink(true); - sharedFiles.add(file); - } - } - } - - if (sharedFiles.size() > 0) { - mStorageManager.updateSharedFiles(sharedFiles); - } - } - } - }