mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-07 22:31:17 -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
|
* 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
|
Versions.com_squareup_retrofit2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -74,11 +74,7 @@ dependencies {
|
|||||||
implementation(Libs.select_folder_document_file)
|
implementation(Libs.select_folder_document_file)
|
||||||
|
|
||||||
// Square
|
// Square
|
||||||
implementation(Libs.converter_simplexml) {
|
implementation(Libs.converter_jaxb)
|
||||||
exclude(group = "xpp3", module = "xpp3")
|
|
||||||
exclude(group = "stax", module = "stax-api")
|
|
||||||
exclude(group = "stax", module = "stax")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Leak canary
|
// Leak canary
|
||||||
debugImplementation(Libs.leakcanary_android)
|
debugImplementation(Libs.leakcanary_android)
|
||||||
|
@ -17,66 +17,66 @@
|
|||||||
*/
|
*/
|
||||||
package org.kiwix.kiwixmobile.core.entity
|
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.File
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
import java.util.LinkedList
|
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 {
|
class LibraryNetworkEntity {
|
||||||
@field:ElementList(name = "book", inline = true, required = false)
|
@field:XmlElement(name = "book")
|
||||||
var book: LinkedList<Book>? = null
|
var book: LinkedList<Book>? = null
|
||||||
|
|
||||||
@field:Attribute(name = "version", required = false)
|
@field:XmlAttribute(name = "version")
|
||||||
var version: String? = null
|
var version: String? = null
|
||||||
|
|
||||||
@Root(name = "book", strict = false)
|
@XmlRootElement(name = "book")
|
||||||
class Book : Serializable {
|
class Book : Serializable {
|
||||||
@field:Attribute(name = "id", required = false)
|
@field:XmlAttribute(name = "id")
|
||||||
var id: String = ""
|
var id: String = ""
|
||||||
|
|
||||||
@field:Attribute(name = "title", required = false)
|
@field:XmlAttribute(name = "title")
|
||||||
var title: String = ""
|
var title: String = ""
|
||||||
|
|
||||||
@field:Attribute(name = "description", required = false)
|
@field:XmlAttribute(name = "description")
|
||||||
var description: String? = null
|
var description: String? = null
|
||||||
|
|
||||||
@field:Attribute(name = "language", required = false)
|
@field:XmlAttribute(name = "language")
|
||||||
var language: String = ""
|
var language: String = ""
|
||||||
|
|
||||||
@field:Attribute(name = "creator", required = false)
|
@field:XmlAttribute(name = "creator")
|
||||||
var creator: String = ""
|
var creator: String = ""
|
||||||
|
|
||||||
@field:Attribute(name = "publisher", required = false)
|
@field:XmlAttribute(name = "publisher")
|
||||||
var publisher: String = ""
|
var publisher: String = ""
|
||||||
|
|
||||||
@field:Attribute(name = "favicon", required = false)
|
@field:XmlAttribute(name = "favicon")
|
||||||
var favicon: String = ""
|
var favicon: String = ""
|
||||||
|
|
||||||
@field:Attribute(name = "faviconMimeType", required = false)
|
@field:XmlAttribute(name = "faviconMimeType")
|
||||||
var faviconMimeType: String? = null
|
var faviconMimeType: String? = null
|
||||||
|
|
||||||
@field:Attribute(name = "date", required = false)
|
@field:XmlAttribute(name = "date")
|
||||||
var date: String = ""
|
var date: String = ""
|
||||||
|
|
||||||
@field:Attribute(name = "url", required = false)
|
@field:XmlAttribute(name = "url")
|
||||||
var url: String? = null
|
var url: String? = null
|
||||||
|
|
||||||
@field:Attribute(name = "articleCount", required = false)
|
@field:XmlAttribute(name = "articleCount")
|
||||||
var articleCount: String? = null
|
var articleCount: String? = null
|
||||||
|
|
||||||
@field:Attribute(name = "mediaCount", required = false)
|
@field:XmlAttribute(name = "mediaCount")
|
||||||
var mediaCount: String? = null
|
var mediaCount: String? = null
|
||||||
|
|
||||||
@field:Attribute(name = "size", required = false)
|
@field:XmlAttribute(name = "size")
|
||||||
var size: String = ""
|
var size: String = ""
|
||||||
|
|
||||||
@field:Attribute(name = "name", required = false)
|
@field:XmlAttribute(name = "name")
|
||||||
var bookName: String? = null
|
var bookName: String? = null
|
||||||
|
|
||||||
@field:Attribute(name = "tags", required = false)
|
@field:XmlAttribute(name = "tags")
|
||||||
var tags: String? = null
|
var tags: String? = null
|
||||||
var searchMatches = 0
|
var searchMatches = 0
|
||||||
|
|
||||||
|
@ -17,30 +17,27 @@
|
|||||||
*/
|
*/
|
||||||
package org.kiwix.kiwixmobile.core.entity
|
package org.kiwix.kiwixmobile.core.entity
|
||||||
|
|
||||||
import org.simpleframework.xml.Attribute
|
import javax.xml.bind.annotation.XmlAttribute
|
||||||
import org.simpleframework.xml.Element
|
import javax.xml.bind.annotation.XmlElement
|
||||||
import org.simpleframework.xml.ElementList
|
import javax.xml.bind.annotation.XmlRootElement
|
||||||
import org.simpleframework.xml.ElementMap
|
|
||||||
import org.simpleframework.xml.Root
|
|
||||||
import org.simpleframework.xml.Text
|
|
||||||
|
|
||||||
@Root(strict = false, name = "metalink")
|
@XmlRootElement(name = "metalink")
|
||||||
class MetaLinkNetworkEntity {
|
class MetaLinkNetworkEntity {
|
||||||
@field:Element
|
@field:XmlElement
|
||||||
var file: FileElement? = null
|
var file: FileElement? = null
|
||||||
val urls: List<Url>?
|
val urls: List<Url>?
|
||||||
get() = file?.urls
|
get() = file?.urls
|
||||||
val relevantUrl: Url
|
val relevantUrl: Url
|
||||||
get() = file?.urls?.get(0) ?: Url()
|
get() = file?.urls?.get(0) ?: Url()
|
||||||
|
|
||||||
@Root(strict = false)
|
@XmlRootElement()
|
||||||
class FileElement {
|
class FileElement {
|
||||||
@field:Attribute
|
@field:XmlAttribute
|
||||||
var name: String? = null
|
var name: String? = null
|
||||||
|
|
||||||
@field:ElementList(inline = true, entry = "url")
|
@field:XmlElement(name = "url")
|
||||||
var urls: List<Url>? = null
|
var urls: List<Url>? = null
|
||||||
@field:Element var size: Long = 0
|
@field:XmlElement var size: Long = 0
|
||||||
|
|
||||||
@field:ElementMap(
|
@field:ElementMap(
|
||||||
entry = "hash",
|
entry = "hash",
|
||||||
@ -51,7 +48,7 @@ class MetaLinkNetworkEntity {
|
|||||||
)
|
)
|
||||||
var hashes: Map<String, String>? = null
|
var hashes: Map<String, String>? = null
|
||||||
|
|
||||||
@field:Element(required = false)
|
@field:XmlElement(required = false)
|
||||||
var pieces: Pieces? = null
|
var pieces: Pieces? = null
|
||||||
val pieceHashes: List<String>?
|
val pieceHashes: List<String>?
|
||||||
get() = pieces?.pieceHashes
|
get() = pieces?.pieceHashes
|
||||||
@ -66,24 +63,24 @@ class MetaLinkNetworkEntity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class Pieces {
|
class Pieces {
|
||||||
@field:Attribute
|
@field:XmlAttribute
|
||||||
var length = 0
|
var length = 0
|
||||||
|
|
||||||
@field:Attribute(name = "type")
|
@field:XmlAttribute(name = "type")
|
||||||
var hashType: String? = null
|
var hashType: String? = null
|
||||||
|
|
||||||
@field:ElementList(inline = true, entry = "hash")
|
@field:XmlElement(name = "hash")
|
||||||
var pieceHashes: List<String>? = null
|
var pieceHashes: List<String>? = null
|
||||||
}
|
}
|
||||||
|
|
||||||
class Url {
|
class Url {
|
||||||
@field:Attribute
|
@field:XmlAttribute
|
||||||
var location: String? = null
|
var location: String? = null
|
||||||
|
|
||||||
@field:Attribute
|
@field:XmlAttribute
|
||||||
var priority = 0
|
var priority = 0
|
||||||
|
|
||||||
@field:Text
|
@field:XmlAttribute
|
||||||
var value: String? = null
|
var value: String? = null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user