Updated serialization library

This commit is contained in:
tom5079
2019-12-13 18:39:12 +09:00
parent d40b4f3748
commit ed4911c441
4 changed files with 18 additions and 7 deletions

View File

@@ -38,6 +38,7 @@ import xyz.quaver.hiyobi.getReader
import xyz.quaver.hiyobi.user_agent
import xyz.quaver.pupil.ui.LockActivity
import xyz.quaver.pupil.util.getDownloadDirectory
import xyz.quaver.pupil.util.updateOldReaderGalleries
import java.io.File
import java.net.URL
import javax.net.ssl.HttpsURLConnection
@@ -108,4 +109,11 @@ class ExampleInstrumentedTest {
}
}
}
@Test
fun test_updateOldReader() {
val context = InstrumentationRegistry.getInstrumentation().targetContext
updateOldReaderGalleries(context)
}
}

View File

@@ -19,7 +19,8 @@
package xyz.quaver.pupil.util
import android.content.Context
import kotlinx.serialization.ImplicitReflectionSerializer
import kotlinx.serialization.InternalSerializationApi
import kotlinx.serialization.internal.EnumSerializer
import kotlinx.serialization.json.*
import xyz.quaver.availableInHiyobi
import xyz.quaver.hitomi.Reader
@@ -91,7 +92,7 @@ fun getOldReaderGalleries(context: Context) : List<File> {
return oldGallery
}
@UseExperimental(ImplicitReflectionSerializer::class)
@UseExperimental(InternalSerializationApi::class)
fun updateOldReaderGalleries(context: Context) {
val json = Json(JsonConfiguration.Stable)
@@ -100,11 +101,13 @@ fun updateOldReaderGalleries(context: Context) {
val reader = json.parseJson(File(gallery, "reader.json").readText())
.jsonObject.toMutableMap()
val codeSerializer = EnumSerializer(Reader.Code::class)
reader["code"] = when {
(File(gallery, "images").list()?.
all { !it.endsWith("webp") } ?: return@forEach) &&
availableInHiyobi(gallery.name.toInt()) -> json.toJson(Reader.Code.HIYOBI)
else -> json.toJson(Reader.Code.HITOMI)
availableInHiyobi(gallery.name.toInt()) -> json.toJson(codeSerializer, Reader.Code.HIYOBI)
else -> json.toJson(codeSerializer, Reader.Code.HITOMI)
}
File(gallery, "reader.json").writeText(JsonObject(reader).toString())