Catch HttpException in widgets as well

pull/125/head^2
Koitharu 4 years ago
parent fb0a075c50
commit a48abc56dd
No known key found for this signature in database
GPG Key ID: 8E861F8CE6E7CE27

@ -16,7 +16,6 @@ import org.koitharu.kotatsu.base.domain.MangaIntent
import org.koitharu.kotatsu.history.domain.HistoryRepository import org.koitharu.kotatsu.history.domain.HistoryRepository
import org.koitharu.kotatsu.parsers.model.Manga import org.koitharu.kotatsu.parsers.model.Manga
import org.koitharu.kotatsu.utils.ext.requireBitmap import org.koitharu.kotatsu.utils.ext.requireBitmap
import java.io.IOException
class RecentListFactory( class RecentListFactory(
private val context: Context, private val context: Context,
@ -50,8 +49,8 @@ class RecentListFactory(
override fun getViewAt(position: Int): RemoteViews { override fun getViewAt(position: Int): RemoteViews {
val views = RemoteViews(context.packageName, R.layout.item_recent) val views = RemoteViews(context.packageName, R.layout.item_recent)
val item = dataSet[position] val item = dataSet[position]
try { runCatching {
val cover = coil.executeBlocking( coil.executeBlocking(
ImageRequest.Builder(context) ImageRequest.Builder(context)
.data(item.coverUrl) .data(item.coverUrl)
.size(coverSize) .size(coverSize)
@ -59,8 +58,9 @@ class RecentListFactory(
.transformations(transformation) .transformations(transformation)
.build() .build()
).requireBitmap() ).requireBitmap()
}.onSuccess { cover ->
views.setImageViewBitmap(R.id.imageView_cover, cover) views.setImageViewBitmap(R.id.imageView_cover, cover)
} catch (e: IOException) { }.onFailure {
views.setImageViewResource(R.id.imageView_cover, R.drawable.ic_placeholder) views.setImageViewResource(R.id.imageView_cover, R.drawable.ic_placeholder)
} }
val intent = Intent() val intent = Intent()

@ -17,7 +17,6 @@ import org.koitharu.kotatsu.core.prefs.AppWidgetConfig
import org.koitharu.kotatsu.favourites.domain.FavouritesRepository import org.koitharu.kotatsu.favourites.domain.FavouritesRepository
import org.koitharu.kotatsu.parsers.model.Manga import org.koitharu.kotatsu.parsers.model.Manga
import org.koitharu.kotatsu.utils.ext.requireBitmap import org.koitharu.kotatsu.utils.ext.requireBitmap
import java.io.IOException
class ShelfListFactory( class ShelfListFactory(
private val context: Context, private val context: Context,
@ -61,8 +60,8 @@ class ShelfListFactory(
val views = RemoteViews(context.packageName, R.layout.item_shelf) val views = RemoteViews(context.packageName, R.layout.item_shelf)
val item = dataSet[position] val item = dataSet[position]
views.setTextViewText(R.id.textView_title, item.title) views.setTextViewText(R.id.textView_title, item.title)
try { runCatching {
val cover = coil.executeBlocking( coil.executeBlocking(
ImageRequest.Builder(context) ImageRequest.Builder(context)
.data(item.coverUrl) .data(item.coverUrl)
.size(coverSize) .size(coverSize)
@ -70,8 +69,9 @@ class ShelfListFactory(
.transformations(transformation) .transformations(transformation)
.build() .build()
).requireBitmap() ).requireBitmap()
}.onSuccess { cover ->
views.setImageViewBitmap(R.id.imageView_cover, cover) views.setImageViewBitmap(R.id.imageView_cover, cover)
} catch (e: IOException) { }.onFailure {
views.setImageViewResource(R.id.imageView_cover, R.drawable.ic_placeholder) views.setImageViewResource(R.id.imageView_cover, R.drawable.ic_placeholder)
} }
val intent = Intent() val intent = Intent()

Loading…
Cancel
Save