From a26fa26400df9ac4c12a64d3091d379aba1a638c Mon Sep 17 00:00:00 2001 From: "Andres Gomez, Thomas (ITDV RL)" Date: Tue, 25 Jun 2024 09:43:03 +0200 Subject: [PATCH] Fix an error on a misconstruct author data. --- .../biblib/network/factory/BookFactory.kt | 17 ++++++++++++++++- .../ui/screen/home/BookSearchViewModel.kt | 2 ++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/pixelized/biblib/network/factory/BookFactory.kt b/app/src/main/java/com/pixelized/biblib/network/factory/BookFactory.kt index d5e9df3..24b2c08 100644 --- a/app/src/main/java/com/pixelized/biblib/network/factory/BookFactory.kt +++ b/app/src/main/java/com/pixelized/biblib/network/factory/BookFactory.kt @@ -1,6 +1,10 @@ package com.pixelized.biblib.network.factory -import com.pixelized.biblib.model.book.* +import com.pixelized.biblib.model.book.Author +import com.pixelized.biblib.model.book.Book +import com.pixelized.biblib.model.book.Genre +import com.pixelized.biblib.model.book.Language +import com.pixelized.biblib.model.book.Series import com.pixelized.biblib.network.data.response.BookDetailResponse import com.pixelized.biblib.network.data.response.BookListResponse import com.pixelized.biblib.utils.exception.missingField @@ -45,6 +49,17 @@ class BookFactory( authorName.joinToString { it }, authorSort.joinToString { it }) ) + } else if (authorIdSize == authorSortSize) { + val contactedAuthorNames = authorSort.map { sortItem -> + authorName.filter { name -> sortItem.contains(name) } + } + (authorId.indices).map { index -> + Author( + authorId[index], + contactedAuthorNames[index].joinToString { it }, + authorSort[index] + ) + } } else { null } diff --git a/app/src/main/java/com/pixelized/biblib/ui/screen/home/BookSearchViewModel.kt b/app/src/main/java/com/pixelized/biblib/ui/screen/home/BookSearchViewModel.kt index 70f3704..9e66fb7 100644 --- a/app/src/main/java/com/pixelized/biblib/ui/screen/home/BookSearchViewModel.kt +++ b/app/src/main/java/com/pixelized/biblib/ui/screen/home/BookSearchViewModel.kt @@ -1,6 +1,7 @@ package com.pixelized.biblib.ui.screen.home import android.app.Application +import android.util.Log import androidx.compose.runtime.State import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.mutableStateOf @@ -94,6 +95,7 @@ class BookSearchViewModel @Inject constructor( bookRepository.update() searchSource?.invalidate() } catch (exception: Exception) { + Log.e("BookSearchViewModel", exception.message, exception) _error.emit( HomeScreenErrorUio.LibraryUpdate( message = R.string.error_book_update_message,