now able to install Debug and release builds in one device
Fixed shrink serialization error
This commit is contained in:
@@ -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)) }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user