diff --git a/app/src/main/java/com/github/damontecres/dolphin/ui/detail/SeasonDetails.kt b/app/src/main/java/com/github/damontecres/dolphin/ui/detail/SeasonDetails.kt index 33dc46b9..d50b5911 100644 --- a/app/src/main/java/com/github/damontecres/dolphin/ui/detail/SeasonDetails.kt +++ b/app/src/main/java/com/github/damontecres/dolphin/ui/detail/SeasonDetails.kt @@ -65,7 +65,6 @@ class SeasonViewModel request, GetItemsRequestHandler, viewModelScope, - itemCount = item.data.childCount, ) pager.init() episodes.value = pager diff --git a/app/src/main/java/com/github/damontecres/dolphin/ui/detail/SeriesDetails.kt b/app/src/main/java/com/github/damontecres/dolphin/ui/detail/SeriesDetails.kt index 7b4092ed..a3631fdc 100644 --- a/app/src/main/java/com/github/damontecres/dolphin/ui/detail/SeriesDetails.kt +++ b/app/src/main/java/com/github/damontecres/dolphin/ui/detail/SeriesDetails.kt @@ -111,7 +111,6 @@ class SeriesViewModel request, GetItemsRequestHandler, viewModelScope, - itemCount = item.data.childCount, ) pager.init() Timber.v("Loaded ${pager.size} seasons for series ${item.id}") diff --git a/app/src/main/java/com/github/damontecres/dolphin/util/ApiRequestPager.kt b/app/src/main/java/com/github/damontecres/dolphin/util/ApiRequestPager.kt index 462956df..6732f165 100644 --- a/app/src/main/java/com/github/damontecres/dolphin/util/ApiRequestPager.kt +++ b/app/src/main/java/com/github/damontecres/dolphin/util/ApiRequestPager.kt @@ -82,11 +82,10 @@ class ApiRequestPager( val requestHandler: RequestHandler, private val scope: CoroutineScope, private val pageSize: Int = DEFAULT_PAGE_SIZE, - itemCount: Int? = null, cacheSize: Long = 8, ) : AbstractList() { private var items by mutableStateOf(ItemList(0, pageSize, mapOf())) - private var totalCount by mutableIntStateOf(itemCount ?: -1) + private var totalCount by mutableIntStateOf(-1) private val mutex = Mutex() private val cachedPages = CacheBuilder diff --git a/app/src/main/java/com/github/damontecres/dolphin/util/LoadingExceptionHandler.kt b/app/src/main/java/com/github/damontecres/dolphin/util/LoadingExceptionHandler.kt index bfe7e53f..9eb7bb87 100644 --- a/app/src/main/java/com/github/damontecres/dolphin/util/LoadingExceptionHandler.kt +++ b/app/src/main/java/com/github/damontecres/dolphin/util/LoadingExceptionHandler.kt @@ -5,6 +5,9 @@ import androidx.lifecycle.MutableLiveData import com.github.damontecres.dolphin.DolphinApplication import kotlinx.coroutines.CancellationException import kotlinx.coroutines.CoroutineExceptionHandler +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.withContext import timber.log.Timber import kotlin.coroutines.CoroutineContext @@ -25,11 +28,15 @@ class LoadingExceptionHandler( return } Timber.e(exception, "Exception in coroutine") - loadingState.value = - LoadingState.Error( - message = errorMessage, - exception = exception, - ) + runBlocking { + withContext(Dispatchers.Main) { + loadingState.value = + LoadingState.Error( + message = errorMessage, + exception = exception, + ) + } + } if (autoToast) { Toast