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

Apply CR changes

This commit is contained in:
davigonz 2019-07-04 10:07:20 +02:00
parent c8d93400e0
commit b2b32c048b

View File

@ -225,76 +225,98 @@ class ShareXMLParser {
val name = parser.name val name = parser.name
if (name.equals(NODE_ELEMENT, ignoreCase = true)) { when {
name.equals(NODE_ELEMENT, ignoreCase = true) -> {
// patch to work around servers responding with extra <element> surrounding all // patch to work around servers responding with extra <element> surrounding all
// the shares on the same file before // the shares on the same file before
// https://github.com/owncloud/core/issues/6992 was fixed // https://github.com/owncloud/core/issues/6992 was fixed
readElement(parser, shares) readElement(parser, shares)
}
} else if (name.equals(NODE_ID, ignoreCase = true)) { name.equals(NODE_ID, ignoreCase = true) -> {
remoteShare.id = Integer.parseInt(readNode(parser, NODE_ID)).toLong() remoteShare.id = Integer.parseInt(readNode(parser, NODE_ID)).toLong()
}
} else if (name.equals(NODE_ITEM_TYPE, ignoreCase = true)) { name.equals(NODE_ITEM_TYPE, ignoreCase = true) -> {
remoteShare.isFolder = readNode(parser, NODE_ITEM_TYPE).equals(TYPE_FOLDER, ignoreCase = true) remoteShare.isFolder = readNode(parser, NODE_ITEM_TYPE).equals(TYPE_FOLDER, ignoreCase = true)
fixPathForFolder(remoteShare) fixPathForFolder(remoteShare)
}
} else if (name.equals(NODE_ITEM_SOURCE, ignoreCase = true)) { name.equals(NODE_ITEM_SOURCE, ignoreCase = true) -> {
remoteShare.itemSource = java.lang.Long.parseLong(readNode(parser, NODE_ITEM_SOURCE)) remoteShare.itemSource = java.lang.Long.parseLong(readNode(parser, NODE_ITEM_SOURCE))
}
} else if (name.equals(NODE_PARENT, ignoreCase = true)) { name.equals(NODE_PARENT, ignoreCase = true) -> {
readNode(parser, NODE_PARENT) readNode(parser, NODE_PARENT)
}
} else if (name.equals(NODE_SHARE_TYPE, ignoreCase = true)) { name.equals(NODE_SHARE_TYPE, ignoreCase = true) -> {
val value = Integer.parseInt(readNode(parser, NODE_SHARE_TYPE)) val value = Integer.parseInt(readNode(parser, NODE_SHARE_TYPE))
remoteShare.shareType = ShareType.fromValue(value) remoteShare.shareType = ShareType.fromValue(value)
}
} else if (name.equals(NODE_SHARE_WITH, ignoreCase = true)) { name.equals(NODE_SHARE_WITH, ignoreCase = true) -> {
remoteShare.shareWith = readNode(parser, NODE_SHARE_WITH) remoteShare.shareWith = readNode(parser, NODE_SHARE_WITH)
}
} else if (name.equals(NODE_FILE_SOURCE, ignoreCase = true)) { name.equals(NODE_FILE_SOURCE, ignoreCase = true) -> {
remoteShare.fileSource = java.lang.Long.parseLong(readNode(parser, NODE_FILE_SOURCE)) remoteShare.fileSource = java.lang.Long.parseLong(readNode(parser, NODE_FILE_SOURCE))
}
} else if (name.equals(NODE_PATH, ignoreCase = true)) { name.equals(NODE_PATH, ignoreCase = true) -> {
remoteShare.path = readNode(parser, NODE_PATH) remoteShare.path = readNode(parser, NODE_PATH)
fixPathForFolder(remoteShare) fixPathForFolder(remoteShare)
}
} else if (name.equals(NODE_PERMISSIONS, ignoreCase = true)) { name.equals(NODE_PERMISSIONS, ignoreCase = true) -> {
remoteShare.permissions = Integer.parseInt(readNode(parser, NODE_PERMISSIONS)) remoteShare.permissions = Integer.parseInt(readNode(parser, NODE_PERMISSIONS))
}
} else if (name.equals(NODE_STIME, ignoreCase = true)) { name.equals(NODE_STIME, ignoreCase = true) -> {
remoteShare.sharedDate = java.lang.Long.parseLong(readNode(parser, NODE_STIME)) remoteShare.sharedDate = java.lang.Long.parseLong(readNode(parser, NODE_STIME))
}
} else if (name.equals(NODE_EXPIRATION, ignoreCase = true)) { name.equals(NODE_EXPIRATION, ignoreCase = true) -> {
val value = readNode(parser, NODE_EXPIRATION) val value = readNode(parser, NODE_EXPIRATION)
if (value.isNotEmpty()) { if (value.isNotEmpty()) {
remoteShare.expirationDate = WebdavUtils.parseResponseDate(value)!!.time remoteShare.expirationDate = WebdavUtils.parseResponseDate(value)!!.time
} }
}
} else if (name.equals(NODE_TOKEN, ignoreCase = true)) { name.equals(NODE_TOKEN, ignoreCase = true) -> {
remoteShare.token = readNode(parser, NODE_TOKEN) remoteShare.token = readNode(parser, NODE_TOKEN)
}
} else if (name.equals(NODE_STORAGE, ignoreCase = true)) { name.equals(NODE_STORAGE, ignoreCase = true) -> {
readNode(parser, NODE_STORAGE) readNode(parser, NODE_STORAGE)
} else if (name.equals(NODE_MAIL_SEND, ignoreCase = true)) { }
name.equals(NODE_MAIL_SEND, ignoreCase = true) -> {
readNode(parser, NODE_MAIL_SEND) readNode(parser, NODE_MAIL_SEND)
}
} else if (name.equals(NODE_SHARE_WITH_DISPLAY_NAME, ignoreCase = true)) { name.equals(NODE_SHARE_WITH_DISPLAY_NAME, ignoreCase = true) -> {
remoteShare.sharedWithDisplayName = readNode(parser, NODE_SHARE_WITH_DISPLAY_NAME) remoteShare.sharedWithDisplayName = readNode(parser, NODE_SHARE_WITH_DISPLAY_NAME)
}
} else if (name.equals(NODE_SHARE_WITH_ADDITIONAL_INFO, ignoreCase = true)) { name.equals(NODE_SHARE_WITH_ADDITIONAL_INFO, ignoreCase = true) -> {
remoteShare.sharedWithAdditionalInfo = readNode(parser, NODE_SHARE_WITH_ADDITIONAL_INFO) remoteShare.sharedWithAdditionalInfo = readNode(parser, NODE_SHARE_WITH_ADDITIONAL_INFO)
}
} else if (name.equals(NODE_URL, ignoreCase = true)) { name.equals(NODE_URL, ignoreCase = true) -> {
val value = readNode(parser, NODE_URL) val value = readNode(parser, NODE_URL)
remoteShare.shareLink = value remoteShare.shareLink = value
}
} else if (name.equals(NODE_NAME, ignoreCase = true)) { name.equals(NODE_NAME, ignoreCase = true) -> {
remoteShare.name = readNode(parser, NODE_NAME) remoteShare.name = readNode(parser, NODE_NAME)
}
} else { else -> {
skip(parser) skip(parser)
} }
} }
}
if (remoteShare.isValid) { if (remoteShare.isValid) {
shares.add(remoteShare) shares.add(remoteShare)