-/* 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,
package com.owncloud.android.operations;
-import java.util.ArrayList;
-
import com.owncloud.android.lib.common.OwnCloudClient;
-import com.owncloud.android.lib.resources.shares.OCShare;
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 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 {
@Override
protected RemoteOperationResult run(OwnCloudClient client) {
- GetRemoteSharesForFileOperation operation = new GetRemoteSharesForFileOperation(mPath, mReshares, mSubfiles);
+ GetRemoteSharesForFileOperation operation = new GetRemoteSharesForFileOperation(mPath,
+ mReshares, mSubfiles);
RemoteOperationResult result = operation.execute(client);
if (result.isSuccess()) {
}
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;