diff options
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt b/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt index f660383f..7a37370d 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt @@ -180,17 +180,21 @@ class NotificationWidgetDataProvider(val context: Context, val intent: Intent) : override fun getViewAt(position: Int): RemoteViews { val views = RemoteViews(context.packageName, R.layout.widget_notification_item) - val notif = content[position] - views.setBackgroundColor(R.id.item_frame, Prefs.nativeBgColor(notif.unread)) - views.setTextColor(R.id.item_content, Prefs.textColor) - views.setTextViewText(R.id.item_content, notif.text) - views.setTextColor(R.id.item_date, Prefs.textColor.withAlpha(150)) - views.setTextViewText(R.id.item_date, notif.timestamp.toReadableTime(context)) - - val avatar = glide.load(notif.profileUrl).transform(FrostGlide.circleCrop) - .submit(avatarSize, avatarSize).get() - views.setImageViewBitmap(R.id.item_avatar, avatar) - views.setOnClickFillInIntent(R.id.item_frame, type.putContentExtra(Intent(), notif)) + try { + val notif = content[position] + views.setBackgroundColor(R.id.item_frame, Prefs.nativeBgColor(notif.unread)) + views.setTextColor(R.id.item_content, Prefs.textColor) + views.setTextViewText(R.id.item_content, notif.text) + views.setTextColor(R.id.item_date, Prefs.textColor.withAlpha(150)) + views.setTextViewText(R.id.item_date, notif.timestamp.toReadableTime(context)) + + val avatar = glide.load(notif.profileUrl).transform(FrostGlide.circleCrop) + .submit(avatarSize, avatarSize).get() + views.setImageViewBitmap(R.id.item_avatar, avatar) + views.setOnClickFillInIntent(R.id.item_frame, type.putContentExtra(Intent(), notif)) + } catch (_: IndexOutOfBoundsException) { + // Ignored; seems like an Android bug + } return views } |