mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Address minor build warnings
This commit is contained in:
		| @@ -70,7 +70,6 @@ class BackupManager( | ||||
|      * @param uri path of Uri | ||||
|      * @param isAutoBackup backup called from scheduled backup job | ||||
|      */ | ||||
|     @Suppress("BlockingMethodInNonBlockingContext") | ||||
|     suspend fun createBackup(uri: Uri, flags: Int, isAutoBackup: Boolean): String { | ||||
|         if (!context.hasPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { | ||||
|             throw IllegalStateException(context.getString(R.string.missing_storage_permission)) | ||||
| @@ -222,10 +221,10 @@ class BackupManager( | ||||
|     } | ||||
|  | ||||
|     internal suspend fun restoreExistingManga(manga: Manga, dbManga: Mangas): Manga { | ||||
|         var manga = manga.copy(id = dbManga._id) | ||||
|         manga = manga.copyFrom(dbManga) | ||||
|         updateManga(manga) | ||||
|         return manga | ||||
|         var updatedManga = manga.copy(id = dbManga._id) | ||||
|         updatedManga = updatedManga.copyFrom(dbManga) | ||||
|         updateManga(updatedManga) | ||||
|         return updatedManga | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -298,7 +297,7 @@ class BackupManager( | ||||
|                 dbCategories.firstOrNull { dbCategory -> | ||||
|                     dbCategory.name == backupCategory.name | ||||
|                 }?.let { dbCategory -> | ||||
|                     mangaCategoriesToUpdate.add(Pair(manga.id!!, dbCategory.id)) | ||||
|                     mangaCategoriesToUpdate.add(Pair(manga.id, dbCategory.id)) | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| @@ -306,7 +305,7 @@ class BackupManager( | ||||
|         // Update database | ||||
|         if (mangaCategoriesToUpdate.isNotEmpty()) { | ||||
|             handler.await(true) { | ||||
|                 mangas_categoriesQueries.deleteMangaCategoryByMangaId(manga.id!!) | ||||
|                 mangas_categoriesQueries.deleteMangaCategoryByMangaId(manga.id) | ||||
|                 mangaCategoriesToUpdate.forEach { (mangaId, categoryId) -> | ||||
|                     mangas_categoriesQueries.insert(mangaId, categoryId) | ||||
|                 } | ||||
| @@ -370,37 +369,38 @@ class BackupManager( | ||||
|      * @param tracks the track list to restore. | ||||
|      */ | ||||
|     internal suspend fun restoreTracking(manga: Manga, tracks: List<tachiyomi.domain.track.model.Track>) { | ||||
|         // Fix foreign keys with the current manga id | ||||
|         val tracks = tracks.map { it.copy(mangaId = manga.id!!) } | ||||
|  | ||||
|         // Get tracks from database | ||||
|         val dbTracks = handler.awaitList { manga_syncQueries.getTracksByMangaId(manga.id!!) } | ||||
|         val dbTracks = handler.awaitList { manga_syncQueries.getTracksByMangaId(manga.id) } | ||||
|         val toUpdate = mutableListOf<Manga_sync>() | ||||
|         val toInsert = mutableListOf<tachiyomi.domain.track.model.Track>() | ||||
|  | ||||
|         tracks.forEach { track -> | ||||
|             var isInDatabase = false | ||||
|             for (dbTrack in dbTracks) { | ||||
|                 if (track.syncId == dbTrack.sync_id) { | ||||
|                     // The sync is already in the db, only update its fields | ||||
|                     var temp = dbTrack | ||||
|                     if (track.remoteId != dbTrack.remote_id) { | ||||
|                         temp = temp.copy(remote_id = track.remoteId) | ||||
|         tracks | ||||
|             // Fix foreign keys with the current manga id | ||||
|             .map { it.copy(mangaId = manga.id) } | ||||
|             .forEach { track -> | ||||
|                 var isInDatabase = false | ||||
|                 for (dbTrack in dbTracks) { | ||||
|                     if (track.syncId == dbTrack.sync_id) { | ||||
|                         // The sync is already in the db, only update its fields | ||||
|                         var temp = dbTrack | ||||
|                         if (track.remoteId != dbTrack.remote_id) { | ||||
|                             temp = temp.copy(remote_id = track.remoteId) | ||||
|                         } | ||||
|                         if (track.libraryId != dbTrack.library_id) { | ||||
|                             temp = temp.copy(library_id = track.libraryId) | ||||
|                         } | ||||
|                         temp = temp.copy(last_chapter_read = max(dbTrack.last_chapter_read, track.lastChapterRead)) | ||||
|                         isInDatabase = true | ||||
|                         toUpdate.add(temp) | ||||
|                         break | ||||
|                     } | ||||
|                     if (track.libraryId != dbTrack.library_id) { | ||||
|                         temp = temp.copy(library_id = track.libraryId) | ||||
|                     } | ||||
|                     temp = temp.copy(last_chapter_read = max(dbTrack.last_chapter_read, track.lastChapterRead)) | ||||
|                     isInDatabase = true | ||||
|                     toUpdate.add(temp) | ||||
|                     break | ||||
|                 } | ||||
|                 if (!isInDatabase) { | ||||
|                     // Insert new sync. Let the db assign the id | ||||
|                     toInsert.add(track.copy(id = 0)) | ||||
|                 } | ||||
|             } | ||||
|             if (!isInDatabase) { | ||||
|                 // Insert new sync. Let the db assign the id | ||||
|                 toInsert.add(track.copy(id = 0)) | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         // Update database | ||||
|         if (toUpdate.isNotEmpty()) { | ||||
|             handler.await(true) { | ||||
| @@ -446,25 +446,25 @@ class BackupManager( | ||||
|     } | ||||
|  | ||||
|     internal suspend fun restoreChapters(manga: Manga, chapters: List<tachiyomi.domain.chapter.model.Chapter>) { | ||||
|         val dbChapters = handler.awaitList { chaptersQueries.getChaptersByMangaId(manga.id!!) } | ||||
|         val dbChapters = handler.awaitList { chaptersQueries.getChaptersByMangaId(manga.id) } | ||||
|  | ||||
|         val processed = chapters.map { chapter -> | ||||
|             var chapter = chapter | ||||
|             val dbChapter = dbChapters.find { it.url == chapter.url } | ||||
|             var updatedChapter = chapter | ||||
|             val dbChapter = dbChapters.find { it.url == updatedChapter.url } | ||||
|             if (dbChapter != null) { | ||||
|                 chapter = chapter.copy(id = dbChapter._id) | ||||
|                 chapter = chapter.copyFrom(dbChapter) | ||||
|                 if (dbChapter.read && !chapter.read) { | ||||
|                     chapter = chapter.copy(read = dbChapter.read, lastPageRead = dbChapter.last_page_read) | ||||
|                 } else if (chapter.lastPageRead == 0L && dbChapter.last_page_read != 0L) { | ||||
|                     chapter = chapter.copy(lastPageRead = dbChapter.last_page_read) | ||||
|                 updatedChapter = updatedChapter.copy(id = dbChapter._id) | ||||
|                 updatedChapter = updatedChapter.copyFrom(dbChapter) | ||||
|                 if (dbChapter.read && !updatedChapter.read) { | ||||
|                     updatedChapter = updatedChapter.copy(read = true, lastPageRead = dbChapter.last_page_read) | ||||
|                 } else if (updatedChapter.lastPageRead == 0L && dbChapter.last_page_read != 0L) { | ||||
|                     updatedChapter = updatedChapter.copy(lastPageRead = dbChapter.last_page_read) | ||||
|                 } | ||||
|                 if (!chapter.bookmark && dbChapter.bookmark) { | ||||
|                     chapter = chapter.copy(bookmark = dbChapter.bookmark) | ||||
|                 if (!updatedChapter.bookmark && dbChapter.bookmark) { | ||||
|                     updatedChapter = updatedChapter.copy(bookmark = true) | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             chapter.copy(mangaId = manga.id ?: -1) | ||||
|             updatedChapter.copy(mangaId = manga.id) | ||||
|         } | ||||
|  | ||||
|         val newChapters = processed.groupBy { it.id > 0 } | ||||
| @@ -564,30 +564,6 @@ class BackupManager( | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Updates a list of chapters | ||||
|      */ | ||||
|     private suspend fun updateChapters(chapters: List<tachiyomi.domain.chapter.model.Chapter>) { | ||||
|         handler.await(true) { | ||||
|             chapters.forEach { chapter -> | ||||
|                 chaptersQueries.update( | ||||
|                     chapter.mangaId, | ||||
|                     chapter.url, | ||||
|                     chapter.name, | ||||
|                     chapter.scanlator, | ||||
|                     chapter.read.toLong(), | ||||
|                     chapter.bookmark.toLong(), | ||||
|                     chapter.lastPageRead, | ||||
|                     chapter.chapterNumber.toDouble(), | ||||
|                     chapter.sourceOrder, | ||||
|                     chapter.dateFetch, | ||||
|                     chapter.dateUpload, | ||||
|                     chapter.id, | ||||
|                 ) | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Updates a list of chapters with known database ids | ||||
|      */ | ||||
|   | ||||
| @@ -29,6 +29,7 @@ data class BackupTracking( | ||||
|     @ProtoNumber(100) var mediaId: Long = 0, | ||||
| ) { | ||||
|  | ||||
|     @Suppress("DEPRECATION") | ||||
|     fun getTrackingImpl(): Track { | ||||
|         return Track( | ||||
|             id = -1, | ||||
|   | ||||
| @@ -118,7 +118,6 @@ class MangaCoverScreenModel( | ||||
|     fun editCover(context: Context, data: Uri) { | ||||
|         val manga = state.value ?: return | ||||
|         coroutineScope.launchIO { | ||||
|             @Suppress("BlockingMethodInNonBlockingContext") | ||||
|             context.contentResolver.openInputStream(data)?.use { | ||||
|                 try { | ||||
|                     manga.editCover(Injekt.get(), it, updateManga, coverCache) | ||||
|   | ||||
| @@ -605,8 +605,8 @@ class MangaInfoScreenModel( | ||||
|         } | ||||
|  | ||||
|         if (!isFavorited && !successState.hasPromptedToAddBefore) { | ||||
|             updateSuccessState { successState -> | ||||
|                 successState.copy(hasPromptedToAddBefore = true) | ||||
|             updateSuccessState { state -> | ||||
|                 state.copy(hasPromptedToAddBefore = true) | ||||
|             } | ||||
|             coroutineScope.launch { | ||||
|                 val result = snackbarHostState.showSnackbar( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user