From 5b8b10a96b4b49fce91b4e32aa5b0c7c8cce2f4f Mon Sep 17 00:00:00 2001
From: Jobobby04 <jobobby04@users.noreply.github.com>
Date: Thu, 11 Mar 2021 22:39:02 -0500
Subject: [PATCH] Fix full backup restore locking up

---
 .../eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
index f2b419441..f1de8cdbd 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
@@ -34,6 +34,7 @@ import eu.kanade.tachiyomi.source.Source
 import eu.kanade.tachiyomi.source.model.toSManga
 import eu.kanade.tachiyomi.source.online.MetadataSource
 import eu.kanade.tachiyomi.source.online.all.MergedSource
+import eu.kanade.tachiyomi.util.lang.launchIO
 import exh.metadata.metadata.base.getFlatMetadataForManga
 import exh.metadata.metadata.base.insertFlatMetadataAsync
 import exh.savedsearches.JsonSavedSearch
@@ -528,7 +529,8 @@ class FullBackupManager(context: Context) : AbstractBackupManager(context) {
     }
 
     internal suspend fun restoreFlatMetadata(manga: Manga, backupFlatMetadata: BackupFlatMetadata) {
-        manga.id?.let { mangaId ->
+        val mangaId = manga.id ?: return
+        launchIO {
             databaseHelper.getFlatMetadataForManga(mangaId).executeOnIO().let {
                 if (it == null) {
                     val flatMetadata = backupFlatMetadata.getFlatMetadata(mangaId)