From 28b19b6774afa327709f7edfb59e7797f85aa4e9 Mon Sep 17 00:00:00 2001 From: tom5079 Date: Wed, 13 Jan 2021 09:49:49 +0900 Subject: [PATCH] migration bug fixed --- app/build.gradle | 2 +- app/release/output-metadata.json | 2 +- app/src/main/java/xyz/quaver/pupil/util/misc.kt | 4 ++++ app/src/main/java/xyz/quaver/pupil/util/update.kt | 8 ++++---- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 83536419..6704f213 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,7 +38,7 @@ android { minSdkVersion 16 targetSdkVersion 30 versionCode 64 - versionName "5.1.7" + versionName "5.1.7-hotfix1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index 6ceb8054..e8294f64 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -11,7 +11,7 @@ "type": "SINGLE", "filters": [], "versionCode": 64, - "versionName": "5.1.7", + "versionName": "5.1.7-hotfix1", "outputFile": "app-release.apk" } ] diff --git a/app/src/main/java/xyz/quaver/pupil/util/misc.kt b/app/src/main/java/xyz/quaver/pupil/util/misc.kt index 50f1b862..5aba4d89 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/misc.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/misc.kt @@ -137,5 +137,9 @@ operator fun JsonElement.get(index: Int) = operator fun JsonElement.get(tag: String) = this.jsonObject[tag] +fun JsonElement.getOrNull(tag: String) = kotlin.runCatching { + this.jsonObject.getOrDefault(tag, null) +}.getOrNull() + val JsonElement.content get() = this.jsonPrimitive.contentOrNull \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/util/update.kt b/app/src/main/java/xyz/quaver/pupil/util/update.kt index dab3ba5f..c034d074 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/update.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/update.kt @@ -285,11 +285,11 @@ fun xyz.quaver.pupil.util.downloader.DownloadManager.migrate() { folder.getChild(".metadata").readText()?.let { Json.parseToJsonElement(it) } }.getOrNull() - val galleryID = metadata?.get("reader")?.get("galleryInfo")?.get("id")?.content?.toIntOrNull() + val galleryID = metadata?.getOrNull("reader")?.getOrNull("galleryInfo")?.getOrNull("id")?.content?.toIntOrNull() ?: folder.name.toIntOrNull() ?: return@forEachIndexed val galleryBlock: GalleryBlock? = kotlin.runCatching { - metadata?.get("galleryBlock")?.let { Json.decodeFromJsonElement(it) } + metadata?.getOrNull("galleryBlock")?.let { Json.decodeFromJsonElement(it) } }.getOrNull() ?: kotlin.runCatching { getGalleryBlock(galleryID) }.getOrNull() ?: kotlin.runCatching { @@ -297,14 +297,14 @@ fun xyz.quaver.pupil.util.downloader.DownloadManager.migrate() { }.getOrNull() val reader: Reader? = kotlin.runCatching { - metadata?.get("reader")?.let { Json.decodeFromJsonElement(it) } + metadata?.getOrNull("reader")?.let { Json.decodeFromJsonElement(it) } }.getOrNull() ?: kotlin.runCatching { getReader(galleryID) }.getOrNull() ?: kotlin.runCatching { xyz.quaver.hiyobi.getReader(galleryID) }.getOrNull() - metadata?.get("thumbnail")?.jsonPrimitive?.contentOrNull?.also { thumbnail -> + metadata?.getOrNull("thumbnail")?.jsonPrimitive?.contentOrNull?.also { thumbnail -> val file = folder.getChild(".thumbnail").also { if (it.exists()) it.delete()