1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-07 16:06:08 +00:00

OC-2772: Detect FILE_NOT_FOUND error in CreateShare

This commit is contained in:
masensio 2014-02-03 09:25:48 +01:00
parent 781e738347
commit 09b1c3c15a
2 changed files with 26 additions and 10 deletions

View File

@ -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<Object> sharesObjects = new ArrayList<Object>();
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<Object> sharesObjects = new ArrayList<Object>();
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 {

View File

@ -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