now able to install Debug and release builds in one device

Fixed shrink serialization error
This commit is contained in:
Pupil
2020-02-14 17:02:53 +09:00
parent 49d87a08d2
commit 275684c9ce
12 changed files with 70 additions and 53 deletions

View File

@@ -21,21 +21,17 @@ package xyz.quaver.pupil.util.download
import android.content.Context
import android.content.ContextWrapper
import android.util.Base64
import android.util.Log
import androidx.preference.PreferenceManager
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
import kotlinx.coroutines.withContext
import kotlinx.serialization.ImplicitReflectionSerializer
import kotlinx.serialization.json.Json
import kotlinx.serialization.parse
import kotlinx.serialization.stringify
import xyz.quaver.Code
import xyz.quaver.hitomi.GalleryBlock
import xyz.quaver.hitomi.Reader
import xyz.quaver.pupil.util.getCachedGallery
import xyz.quaver.pupil.util.getDownloadDirectory
import xyz.quaver.pupil.util.json
import java.io.File
import java.net.URL
@@ -50,7 +46,6 @@ class Cache(context: Context) : ContextWrapper(context) {
it.mkdirs()
}
@UseExperimental(ImplicitReflectionSerializer::class)
fun getCachedMetadata(galleryID: Int) : Metadata? {
val file = File(getCachedGallery(galleryID), ".metadata")
@@ -58,7 +53,7 @@ class Cache(context: Context) : ContextWrapper(context) {
return null
return try {
Json.parse(file.readText())
json.parse(Metadata.serializer(), file.readText())
} catch (e: Exception) {
//File corrupted
file.delete()
@@ -66,14 +61,13 @@ class Cache(context: Context) : ContextWrapper(context) {
}
}
@UseExperimental(ImplicitReflectionSerializer::class)
fun setCachedMetadata(galleryID: Int, metadata: Metadata) {
val file = File(getCachedGallery(galleryID), ".metadata").also {
if (!it.exists())
it.createNewFile()
}
file.writeText(Json.stringify(metadata))
file.writeText(json.stringify(Metadata.serializer(), metadata))
}
suspend fun getThumbnail(galleryID: Int): String? {
@@ -183,12 +177,10 @@ class Cache(context: Context) : ContextWrapper(context) {
}
fun getImages(galleryID: Int): List<File?>? {
val started = System.currentTimeMillis()
val gallery = getCachedGallery(galleryID)
val reader = getReaderOrNull(galleryID) ?: return null
val images = gallery.listFiles() ?: return null
Log.i("PUPILD", "${System.currentTimeMillis() - started} ms")
return reader.galleryInfo.indices.map { index ->
images.firstOrNull { file -> file.name.startsWith("%05d".format(index)) }
}