From b146ed684d25abacdd78ccb3ee0f6fd1d7b03fb0 Mon Sep 17 00:00:00 2001 From: tom5079 <7948651+tom5079@users.noreply.github.com> Date: Tue, 31 May 2022 08:06:48 +0900 Subject: [PATCH] Fix app crashing when recovering metadata is corrupt --- .../xyz/quaver/pupil/ui/fragment/ManageStorageFragment.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageStorageFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageStorageFragment.kt index 5a2ffb8b..b4fbf5b6 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageStorageFragment.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageStorageFragment.kt @@ -117,7 +117,9 @@ class ManageStorageFragment : PreferenceFragmentCompat(), Preference.OnPreferenc if (!metadataFile.exists()) return@forEach val metadata = metadataFile.readText()?.let { - json.decodeFromString(it) + runCatching { + json.decodeFromString(it) + }.getOrNull() } ?: return@forEach val galleryID = metadata.galleryBlock?.id ?: metadata.galleryInfo?.id?.toIntOrNull() ?: return@forEach