Manually deserialize saved searches, fix NHentai
This commit is contained in:
@@ -239,7 +239,7 @@ object DebugFunctions {
|
||||
try {
|
||||
val id = it.substringBefore(':').toLong()
|
||||
if (id != source.id) return@mapNotNull null
|
||||
Json.decodeFromString<JsonSavedSearch>(it.substringAfter(':'))
|
||||
JsonSavedSearch.fromJsonObject(Json.decodeFromString(it.substringAfter(':')))
|
||||
} catch (t: RuntimeException) {
|
||||
// Load failed
|
||||
XLog.e("Failed to load saved search!", t)
|
||||
@@ -251,7 +251,7 @@ object DebugFunctions {
|
||||
try {
|
||||
val id = it.substringBefore(':').toLong()
|
||||
if (id != newSource.id) return@mapNotNull null
|
||||
Json.decodeFromString<JsonSavedSearch>(it.substringAfter(':'))
|
||||
JsonSavedSearch.fromJsonObject(Json.decodeFromString(it.substringAfter(':')))
|
||||
} catch (t: RuntimeException) {
|
||||
// Load failed
|
||||
XLog.e("Failed to load saved search!", t)
|
||||
@@ -278,7 +278,7 @@ object DebugFunctions {
|
||||
try {
|
||||
val id = it.substringBefore(':').toLong()
|
||||
if (id != source.id) return@mapNotNull null
|
||||
Json.decodeFromString<JsonSavedSearch>(it.substringAfter(':'))
|
||||
JsonSavedSearch.fromJsonObject(Json.decodeFromString(it.substringAfter(':')))
|
||||
} catch (t: RuntimeException) {
|
||||
// Load failed
|
||||
XLog.e("Failed to load saved search!", t)
|
||||
@@ -290,7 +290,7 @@ object DebugFunctions {
|
||||
try {
|
||||
val id = it.substringBefore(':').toLong()
|
||||
if (id != newSource.id) return@mapNotNull null
|
||||
Json.decodeFromString<JsonSavedSearch>(it.substringAfter(':'))
|
||||
JsonSavedSearch.fromJsonObject(Json.decodeFromString(it.substringAfter(':')))
|
||||
} catch (t: RuntimeException) {
|
||||
// Load failed
|
||||
XLog.e("Failed to load saved search!", t)
|
||||
|
||||
@@ -2,10 +2,23 @@ package exh.savedsearches
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.json.JsonArray
|
||||
import kotlinx.serialization.json.JsonObject
|
||||
import kotlinx.serialization.json.jsonArray
|
||||
import kotlinx.serialization.json.jsonPrimitive
|
||||
|
||||
@Serializable
|
||||
data class JsonSavedSearch(
|
||||
val name: String,
|
||||
val query: String,
|
||||
val filters: JsonArray
|
||||
)
|
||||
) {
|
||||
companion object {
|
||||
fun fromJsonObject(json: JsonObject): JsonSavedSearch {
|
||||
return JsonSavedSearch(
|
||||
json["name"]!!.jsonPrimitive.content,
|
||||
json["query"]!!.jsonPrimitive.content,
|
||||
json["filters"]!!.jsonArray,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user