X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/59513cd56ddd82118b96df9a5485406338dfb5ea..HEAD:/src/com/owncloud/android/operations/GetSharesForFileOperation.java diff --git a/src/com/owncloud/android/operations/GetSharesForFileOperation.java b/src/com/owncloud/android/operations/GetSharesForFileOperation.java index fd2dab74..a04d4159 100644 --- a/src/com/owncloud/android/operations/GetSharesForFileOperation.java +++ b/src/com/owncloud/android/operations/GetSharesForFileOperation.java @@ -1,5 +1,8 @@ -/* ownCloud Android client application - * Copyright (C) 2012-2013 ownCloud Inc. +/** + * ownCloud Android client application + * + * @author masensio + * Copyright (C) 2015 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, @@ -18,20 +21,17 @@ package com.owncloud.android.operations; -import java.util.ArrayList; - -import com.owncloud.android.lib.network.OwnCloudClient; -import com.owncloud.android.lib.operations.common.OCShare; -import com.owncloud.android.lib.operations.common.RemoteOperationResult; -import com.owncloud.android.lib.operations.remote.GetSharesForFileRemoteOperation; +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.GetRemoteSharesForFileOperation; +import com.owncloud.android.lib.resources.shares.OCShare; import com.owncloud.android.operations.common.SyncOperation; -import com.owncloud.android.utils.Log_OC; + +import java.util.ArrayList; /** - * Provide a list shares for a specific file. - * - * @author masensio - * + * Provide a list shares for a specific file. */ public class GetSharesForFileOperation extends SyncOperation { @@ -45,10 +45,10 @@ public class GetSharesForFileOperation extends SyncOperation { * Constructor * * @param path Path to file or folder - * @param reshares If set to ‘false’ (default), only shares from the current user are returned - * If set to ‘true’, all shares from the given file are returned - * @param subfiles If set to ‘false’ (default), lists only the folder being shared - * If set to ‘true’, all shared files within the folder are returned. + * @param reshares If set to false (default), only shares from the current user are returned + * If set to true, all shares from the given file are returned + * @param subfiles If set to false (default), lists only the folder being shared + * If set to true, all shared files within the folder are returned. */ public GetSharesForFileOperation(String path, boolean reshares, boolean subfiles) { mPath = path; @@ -58,7 +58,8 @@ public class GetSharesForFileOperation extends SyncOperation { @Override protected RemoteOperationResult run(OwnCloudClient client) { - GetSharesForFileRemoteOperation operation = new GetSharesForFileRemoteOperation(mPath, mReshares, mSubfiles); + GetRemoteSharesForFileOperation operation = new GetRemoteSharesForFileOperation(mPath, + mReshares, mSubfiles); RemoteOperationResult result = operation.execute(client); if (result.isSuccess()) { @@ -71,6 +72,11 @@ public class GetSharesForFileOperation extends SyncOperation { } getStorageManager().saveSharesDB(shares); + + } else if (result.getCode() == RemoteOperationResult.ResultCode.SHARE_NOT_FOUND) { + // no share on the file - remove local shares + getStorageManager().removeSharesForFile(mPath); + } return result;