aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2019-12-29 22:02:27 -0800
committerAllan Wang <me@allanwang.ca>2019-12-29 22:02:27 -0800
commit65d527155ed456b14de6cc036e95d5c6ade696ba (patch)
tree4c4a17a208444cd572915f86ffe612f00150c348
parent86df98094d202701690d597024558ccaa6d41abd (diff)
downloadfrost-65d527155ed456b14de6cc036e95d5c6ade696ba.tar.gz
frost-65d527155ed456b14de6cc036e95d5c6ade696ba.tar.bz2
frost-65d527155ed456b14de6cc036e95d5c6ade696ba.zip
Ignore ioobe for NotificationWidget, resolves #1520
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt26
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
}