diff --git a/src/com/owncloud/android/lib/operations/remote/CreateShareRemoteOperation.java b/src/com/owncloud/android/lib/operations/remote/CreateShareRemoteOperation.java index b8052864..3e985da2 100644 --- a/src/com/owncloud/android/lib/operations/remote/CreateShareRemoteOperation.java +++ b/src/com/owncloud/android/lib/operations/remote/CreateShareRemoteOperation.java @@ -129,14 +129,18 @@ public class CreateShareRemoteOperation extends RemoteOperation { InputStream is = new ByteArrayInputStream(response.getBytes()); ShareXMLParser xmlParser = new ShareXMLParser(); mShares = xmlParser.parseXMLResponse(is); - if (mShares != null) { - Log.d(TAG, "Shares: " + mShares.size()); - result = new RemoteOperationResult(ResultCode.OK); - ArrayList sharesObjects = new ArrayList(); - for (OCShare share: mShares) { - sharesObjects.add(share); + if (xmlParser.isSuccess()) { + if (mShares != null) { + Log.d(TAG, "Shares: " + mShares.size()); + result = new RemoteOperationResult(ResultCode.OK); + ArrayList sharesObjects = new ArrayList(); + for (OCShare share: mShares) { + sharesObjects.add(share); + } + result.setData(sharesObjects); } - result.setData(sharesObjects); + } else if (xmlParser.isFilNotFound()){ + result = new RemoteOperationResult(ResultCode.FILE_NOT_FOUND); } } else { diff --git a/src/com/owncloud/android/lib/utils/ShareXMLParser.java b/src/com/owncloud/android/lib/utils/ShareXMLParser.java index 665c55d6..9ada0017 100644 --- a/src/com/owncloud/android/lib/utils/ShareXMLParser.java +++ b/src/com/owncloud/android/lib/utils/ShareXMLParser.java @@ -80,7 +80,10 @@ public class ShareXMLParser { private static final String NODE_URL = "url"; private static final String TYPE_FOLDER = "folder"; - + + private static final int SUCCESS = 100; + private static final int FAILURE = 403; + private static final int FILE_NOT_FOUND = 404; private String mStatus; private int mStatusCode; @@ -101,12 +104,21 @@ public class ShareXMLParser { public void setStatusCode(int statusCode) { this.mStatusCode = statusCode; } - // Constructor public ShareXMLParser() { - + mStatusCode = 100; } + public boolean isSuccess() { + return mStatusCode == SUCCESS; + } + public boolean isFailure() { + return mStatusCode == FAILURE; + } + public boolean isFilNotFound() { + return mStatusCode == FILE_NOT_FOUND; + } + /** * Parse is as response of Share API * @param is