mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-09 17:06:18 +00:00
OC-2746: Change sharedfile by share
This commit is contained in:
parent
f53197fc17
commit
8caf476968
@ -45,7 +45,7 @@ import android.util.Log;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the data from the server to know shared files/folders
|
* Get the data from the server to know shares
|
||||||
*
|
*
|
||||||
* @author masensio
|
* @author masensio
|
||||||
*
|
*
|
||||||
@ -58,12 +58,12 @@ public class GetRemoteSharesOperation extends RemoteOperation {
|
|||||||
// OCS Route
|
// OCS Route
|
||||||
private static final String SHAREAPI_ROUTE ="/ocs/v1.php/apps/files_sharing/api/v1/shares";
|
private static final String SHAREAPI_ROUTE ="/ocs/v1.php/apps/files_sharing/api/v1/shares";
|
||||||
|
|
||||||
private ArrayList<ShareRemoteFile> mSharedFiles; // List of files for result
|
private ArrayList<ShareRemoteFile> mShares; // List of shares for result
|
||||||
|
|
||||||
private String mUrlServer;
|
private String mUrlServer;
|
||||||
|
|
||||||
public ArrayList<ShareRemoteFile> getSharedFiles() {
|
public ArrayList<ShareRemoteFile> getShares() {
|
||||||
return mSharedFiles;
|
return mShares;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GetRemoteSharesOperation(String urlServer) {
|
public GetRemoteSharesOperation(String urlServer) {
|
||||||
@ -91,9 +91,9 @@ public class GetRemoteSharesOperation extends RemoteOperation {
|
|||||||
// convert String into InputStream
|
// convert String into InputStream
|
||||||
InputStream is = new ByteArrayInputStream(response.getBytes());
|
InputStream is = new ByteArrayInputStream(response.getBytes());
|
||||||
ShareXMLParser xmlParser = new ShareXMLParser();
|
ShareXMLParser xmlParser = new ShareXMLParser();
|
||||||
mSharedFiles = xmlParser.parseXMLResponse(is);
|
mShares = xmlParser.parseXMLResponse(is);
|
||||||
if (mSharedFiles != null) {
|
if (mShares != null) {
|
||||||
Log.d(TAG, "Shared Files: " + mSharedFiles.size());
|
Log.d(TAG, "Shared Files: " + mShares.size());
|
||||||
result = new RemoteOperationResult(ResultCode.OK);
|
result = new RemoteOperationResult(ResultCode.OK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,7 @@ public class ShareXMLParser {
|
|||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
private ArrayList<ShareRemoteFile> readOCS (XmlPullParser parser) throws XmlPullParserException, IOException {
|
private ArrayList<ShareRemoteFile> readOCS (XmlPullParser parser) throws XmlPullParserException, IOException {
|
||||||
ArrayList<ShareRemoteFile> sharedFiles = new ArrayList<ShareRemoteFile>();
|
ArrayList<ShareRemoteFile> shares = new ArrayList<ShareRemoteFile>();
|
||||||
parser.require(XmlPullParser.START_TAG, ns , NODE_OCS);
|
parser.require(XmlPullParser.START_TAG, ns , NODE_OCS);
|
||||||
while (parser.next() != XmlPullParser.END_TAG) {
|
while (parser.next() != XmlPullParser.END_TAG) {
|
||||||
if (parser.getEventType() != XmlPullParser.START_TAG) {
|
if (parser.getEventType() != XmlPullParser.START_TAG) {
|
||||||
@ -148,13 +148,13 @@ public class ShareXMLParser {
|
|||||||
if (name.equalsIgnoreCase(NODE_META)) {
|
if (name.equalsIgnoreCase(NODE_META)) {
|
||||||
readMeta(parser);
|
readMeta(parser);
|
||||||
} else if (name.equalsIgnoreCase(NODE_DATA)) {
|
} else if (name.equalsIgnoreCase(NODE_DATA)) {
|
||||||
sharedFiles = readData(parser);
|
shares = readData(parser);
|
||||||
} else {
|
} else {
|
||||||
skip(parser);
|
skip(parser);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return sharedFiles;
|
return shares;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -195,7 +195,7 @@ public class ShareXMLParser {
|
|||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
private ArrayList<ShareRemoteFile> readData(XmlPullParser parser) throws XmlPullParserException, IOException {
|
private ArrayList<ShareRemoteFile> readData(XmlPullParser parser) throws XmlPullParserException, IOException {
|
||||||
ArrayList<ShareRemoteFile> sharedFiles = new ArrayList<ShareRemoteFile>();
|
ArrayList<ShareRemoteFile> shares = new ArrayList<ShareRemoteFile>();
|
||||||
|
|
||||||
parser.require(XmlPullParser.START_TAG, ns, NODE_DATA);
|
parser.require(XmlPullParser.START_TAG, ns, NODE_DATA);
|
||||||
Log.d(TAG, "---- NODE DATA ---");
|
Log.d(TAG, "---- NODE DATA ---");
|
||||||
@ -205,13 +205,13 @@ public class ShareXMLParser {
|
|||||||
}
|
}
|
||||||
String name = parser.getName();
|
String name = parser.getName();
|
||||||
if (name.equalsIgnoreCase(NODE_ELEMENT)) {
|
if (name.equalsIgnoreCase(NODE_ELEMENT)) {
|
||||||
sharedFiles.add(readElement(parser));
|
shares.add(readElement(parser));
|
||||||
} else {
|
} else {
|
||||||
skip(parser);
|
skip(parser);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return sharedFiles;
|
return shares;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -225,7 +225,7 @@ public class ShareXMLParser {
|
|||||||
private ShareRemoteFile readElement(XmlPullParser parser) throws XmlPullParserException, IOException {
|
private ShareRemoteFile readElement(XmlPullParser parser) throws XmlPullParserException, IOException {
|
||||||
parser.require(XmlPullParser.START_TAG, ns, NODE_ELEMENT);
|
parser.require(XmlPullParser.START_TAG, ns, NODE_ELEMENT);
|
||||||
|
|
||||||
ShareRemoteFile sharedFile = new ShareRemoteFile();
|
ShareRemoteFile share = new ShareRemoteFile();
|
||||||
|
|
||||||
Log.d(TAG, "---- NODE ELEMENT ---");
|
Log.d(TAG, "---- NODE ELEMENT ---");
|
||||||
while (parser.next() != XmlPullParser.END_TAG) {
|
while (parser.next() != XmlPullParser.END_TAG) {
|
||||||
@ -236,44 +236,44 @@ public class ShareXMLParser {
|
|||||||
String name = parser.getName();
|
String name = parser.getName();
|
||||||
|
|
||||||
if (name.equalsIgnoreCase(NODE_ID)) {
|
if (name.equalsIgnoreCase(NODE_ID)) {
|
||||||
sharedFile.setIdRemoteShared(Integer.parseInt(readNode(parser, NODE_ID)));
|
share.setIdRemoteShared(Integer.parseInt(readNode(parser, NODE_ID)));
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_ITEM_TYPE)) {
|
} else if (name.equalsIgnoreCase(NODE_ITEM_TYPE)) {
|
||||||
sharedFile.setIsDirectory(readNode(parser, NODE_ITEM_TYPE).equalsIgnoreCase(TYPE_FOLDER));
|
share.setIsDirectory(readNode(parser, NODE_ITEM_TYPE).equalsIgnoreCase(TYPE_FOLDER));
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_ITEM_SOURCE)) {
|
} else if (name.equalsIgnoreCase(NODE_ITEM_SOURCE)) {
|
||||||
sharedFile.setItemSource(Long.parseLong(readNode(parser, NODE_ITEM_SOURCE)));
|
share.setItemSource(Long.parseLong(readNode(parser, NODE_ITEM_SOURCE)));
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_PARENT)) {
|
} else if (name.equalsIgnoreCase(NODE_PARENT)) {
|
||||||
readNode(parser, NODE_PARENT);
|
readNode(parser, NODE_PARENT);
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_SHARE_TYPE)) {
|
} else if (name.equalsIgnoreCase(NODE_SHARE_TYPE)) {
|
||||||
int value = Integer.parseInt(readNode(parser, NODE_SHARE_TYPE));
|
int value = Integer.parseInt(readNode(parser, NODE_SHARE_TYPE));
|
||||||
sharedFile.setShareType(ShareType.fromValue(value));
|
share.setShareType(ShareType.fromValue(value));
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_SHARE_WITH)) {
|
} else if (name.equalsIgnoreCase(NODE_SHARE_WITH)) {
|
||||||
sharedFile.setShareWith(readNode(parser, NODE_SHARE_WITH));
|
share.setShareWith(readNode(parser, NODE_SHARE_WITH));
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_FILE_SOURCE)) {
|
} else if (name.equalsIgnoreCase(NODE_FILE_SOURCE)) {
|
||||||
sharedFile.setFileSource(Long.parseLong(readNode(parser, NODE_FILE_SOURCE)));
|
share.setFileSource(Long.parseLong(readNode(parser, NODE_FILE_SOURCE)));
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_PATH)) {
|
} else if (name.equalsIgnoreCase(NODE_PATH)) {
|
||||||
sharedFile.setPath(readNode(parser, NODE_PATH));
|
share.setPath(readNode(parser, NODE_PATH));
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_PERMISSIONS)) {
|
} else if (name.equalsIgnoreCase(NODE_PERMISSIONS)) {
|
||||||
sharedFile.setPermissions(Integer.parseInt(readNode(parser, NODE_PERMISSIONS)));
|
share.setPermissions(Integer.parseInt(readNode(parser, NODE_PERMISSIONS)));
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_STIME)) {
|
} else if (name.equalsIgnoreCase(NODE_STIME)) {
|
||||||
sharedFile.setSharedDate(Long.parseLong(readNode(parser, NODE_STIME)));
|
share.setSharedDate(Long.parseLong(readNode(parser, NODE_STIME)));
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_EXPIRATION)) {
|
} else if (name.equalsIgnoreCase(NODE_EXPIRATION)) {
|
||||||
String value = readNode(parser, NODE_EXPIRATION);
|
String value = readNode(parser, NODE_EXPIRATION);
|
||||||
if (!value.isEmpty()) {
|
if (!value.isEmpty()) {
|
||||||
sharedFile.setExpirationDate(Long.parseLong(readNode(parser, NODE_EXPIRATION))); // check if expiration is in long format or date format
|
share.setExpirationDate(Long.parseLong(readNode(parser, NODE_EXPIRATION))); // check if expiration is in long format or date format
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_TOKEN)) {
|
} else if (name.equalsIgnoreCase(NODE_TOKEN)) {
|
||||||
sharedFile.setToken(readNode(parser, NODE_TOKEN));
|
share.setToken(readNode(parser, NODE_TOKEN));
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_STORAGE)) {
|
} else if (name.equalsIgnoreCase(NODE_STORAGE)) {
|
||||||
readNode(parser, NODE_STORAGE);
|
readNode(parser, NODE_STORAGE);
|
||||||
@ -281,14 +281,14 @@ public class ShareXMLParser {
|
|||||||
readNode(parser, NODE_MAIL_SEND);
|
readNode(parser, NODE_MAIL_SEND);
|
||||||
|
|
||||||
} else if (name.equalsIgnoreCase(NODE_SHARE_WITH_DISPLAY_NAME)) {
|
} else if (name.equalsIgnoreCase(NODE_SHARE_WITH_DISPLAY_NAME)) {
|
||||||
sharedFile.setSharedWithDisplayName(readNode(parser, NODE_SHARE_WITH_DISPLAY_NAME));
|
share.setSharedWithDisplayName(readNode(parser, NODE_SHARE_WITH_DISPLAY_NAME));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
skip(parser);
|
skip(parser);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return sharedFile;
|
return share;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user