mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 10:46:53 -04:00
Replace SimpleXmlConverterFactory to JAXB coverter
This commit is contained in:
parent
120cbcf86e
commit
f9c2c37340
@ -59,7 +59,7 @@ object Libs {
|
||||
/**
|
||||
* https://github.com/square/retrofit
|
||||
*/
|
||||
const val converter_simplexml: String = "com.squareup.retrofit2:converter-simplexml:" +
|
||||
const val converter_jaxb: String = "com.squareup.retrofit2:converter-jaxb:" +
|
||||
Versions.com_squareup_retrofit2
|
||||
|
||||
/**
|
||||
|
@ -74,11 +74,7 @@ dependencies {
|
||||
implementation(Libs.select_folder_document_file)
|
||||
|
||||
// Square
|
||||
implementation(Libs.converter_simplexml) {
|
||||
exclude(group = "xpp3", module = "xpp3")
|
||||
exclude(group = "stax", module = "stax-api")
|
||||
exclude(group = "stax", module = "stax")
|
||||
}
|
||||
implementation(Libs.converter_jaxb)
|
||||
|
||||
// Leak canary
|
||||
debugImplementation(Libs.leakcanary_android)
|
||||
|
@ -17,66 +17,66 @@
|
||||
*/
|
||||
package org.kiwix.kiwixmobile.core.entity
|
||||
|
||||
import org.simpleframework.xml.Attribute
|
||||
import org.simpleframework.xml.ElementList
|
||||
import org.simpleframework.xml.Root
|
||||
import java.io.File
|
||||
import java.io.Serializable
|
||||
import java.util.LinkedList
|
||||
import javax.xml.bind.annotation.XmlAttribute
|
||||
import javax.xml.bind.annotation.XmlElement
|
||||
import javax.xml.bind.annotation.XmlRootElement
|
||||
|
||||
@Root(name = "library")
|
||||
@XmlRootElement(name = "library")
|
||||
class LibraryNetworkEntity {
|
||||
@field:ElementList(name = "book", inline = true, required = false)
|
||||
@field:XmlElement(name = "book")
|
||||
var book: LinkedList<Book>? = null
|
||||
|
||||
@field:Attribute(name = "version", required = false)
|
||||
@field:XmlAttribute(name = "version")
|
||||
var version: String? = null
|
||||
|
||||
@Root(name = "book", strict = false)
|
||||
@XmlRootElement(name = "book")
|
||||
class Book : Serializable {
|
||||
@field:Attribute(name = "id", required = false)
|
||||
@field:XmlAttribute(name = "id")
|
||||
var id: String = ""
|
||||
|
||||
@field:Attribute(name = "title", required = false)
|
||||
@field:XmlAttribute(name = "title")
|
||||
var title: String = ""
|
||||
|
||||
@field:Attribute(name = "description", required = false)
|
||||
@field:XmlAttribute(name = "description")
|
||||
var description: String? = null
|
||||
|
||||
@field:Attribute(name = "language", required = false)
|
||||
@field:XmlAttribute(name = "language")
|
||||
var language: String = ""
|
||||
|
||||
@field:Attribute(name = "creator", required = false)
|
||||
@field:XmlAttribute(name = "creator")
|
||||
var creator: String = ""
|
||||
|
||||
@field:Attribute(name = "publisher", required = false)
|
||||
@field:XmlAttribute(name = "publisher")
|
||||
var publisher: String = ""
|
||||
|
||||
@field:Attribute(name = "favicon", required = false)
|
||||
@field:XmlAttribute(name = "favicon")
|
||||
var favicon: String = ""
|
||||
|
||||
@field:Attribute(name = "faviconMimeType", required = false)
|
||||
@field:XmlAttribute(name = "faviconMimeType")
|
||||
var faviconMimeType: String? = null
|
||||
|
||||
@field:Attribute(name = "date", required = false)
|
||||
@field:XmlAttribute(name = "date")
|
||||
var date: String = ""
|
||||
|
||||
@field:Attribute(name = "url", required = false)
|
||||
@field:XmlAttribute(name = "url")
|
||||
var url: String? = null
|
||||
|
||||
@field:Attribute(name = "articleCount", required = false)
|
||||
@field:XmlAttribute(name = "articleCount")
|
||||
var articleCount: String? = null
|
||||
|
||||
@field:Attribute(name = "mediaCount", required = false)
|
||||
@field:XmlAttribute(name = "mediaCount")
|
||||
var mediaCount: String? = null
|
||||
|
||||
@field:Attribute(name = "size", required = false)
|
||||
@field:XmlAttribute(name = "size")
|
||||
var size: String = ""
|
||||
|
||||
@field:Attribute(name = "name", required = false)
|
||||
@field:XmlAttribute(name = "name")
|
||||
var bookName: String? = null
|
||||
|
||||
@field:Attribute(name = "tags", required = false)
|
||||
@field:XmlAttribute(name = "tags")
|
||||
var tags: String? = null
|
||||
var searchMatches = 0
|
||||
|
||||
|
@ -17,30 +17,27 @@
|
||||
*/
|
||||
package org.kiwix.kiwixmobile.core.entity
|
||||
|
||||
import org.simpleframework.xml.Attribute
|
||||
import org.simpleframework.xml.Element
|
||||
import org.simpleframework.xml.ElementList
|
||||
import org.simpleframework.xml.ElementMap
|
||||
import org.simpleframework.xml.Root
|
||||
import org.simpleframework.xml.Text
|
||||
import javax.xml.bind.annotation.XmlAttribute
|
||||
import javax.xml.bind.annotation.XmlElement
|
||||
import javax.xml.bind.annotation.XmlRootElement
|
||||
|
||||
@Root(strict = false, name = "metalink")
|
||||
@XmlRootElement(name = "metalink")
|
||||
class MetaLinkNetworkEntity {
|
||||
@field:Element
|
||||
@field:XmlElement
|
||||
var file: FileElement? = null
|
||||
val urls: List<Url>?
|
||||
get() = file?.urls
|
||||
val relevantUrl: Url
|
||||
get() = file?.urls?.get(0) ?: Url()
|
||||
|
||||
@Root(strict = false)
|
||||
@XmlRootElement()
|
||||
class FileElement {
|
||||
@field:Attribute
|
||||
@field:XmlAttribute
|
||||
var name: String? = null
|
||||
|
||||
@field:ElementList(inline = true, entry = "url")
|
||||
@field:XmlElement(name = "url")
|
||||
var urls: List<Url>? = null
|
||||
@field:Element var size: Long = 0
|
||||
@field:XmlElement var size: Long = 0
|
||||
|
||||
@field:ElementMap(
|
||||
entry = "hash",
|
||||
@ -51,7 +48,7 @@ class MetaLinkNetworkEntity {
|
||||
)
|
||||
var hashes: Map<String, String>? = null
|
||||
|
||||
@field:Element(required = false)
|
||||
@field:XmlElement(required = false)
|
||||
var pieces: Pieces? = null
|
||||
val pieceHashes: List<String>?
|
||||
get() = pieces?.pieceHashes
|
||||
@ -66,24 +63,24 @@ class MetaLinkNetworkEntity {
|
||||
}
|
||||
|
||||
class Pieces {
|
||||
@field:Attribute
|
||||
@field:XmlAttribute
|
||||
var length = 0
|
||||
|
||||
@field:Attribute(name = "type")
|
||||
@field:XmlAttribute(name = "type")
|
||||
var hashType: String? = null
|
||||
|
||||
@field:ElementList(inline = true, entry = "hash")
|
||||
@field:XmlElement(name = "hash")
|
||||
var pieceHashes: List<String>? = null
|
||||
}
|
||||
|
||||
class Url {
|
||||
@field:Attribute
|
||||
@field:XmlAttribute
|
||||
var location: String? = null
|
||||
|
||||
@field:Attribute
|
||||
@field:XmlAttribute
|
||||
var priority = 0
|
||||
|
||||
@field:Text
|
||||
@field:XmlAttribute
|
||||
var value: String? = null
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user