Skip to content

Commit 6680e74

Browse files
alex-signalcody-signal
authored andcommitted
Add 2s timeout to message notifier icon loading.
1 parent 0afa755 commit 6680e74

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationExtensions.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ import org.thoughtcrime.securesms.notifications.NotificationIds
2222
import org.thoughtcrime.securesms.recipients.Recipient
2323
import org.thoughtcrime.securesms.util.BitmapUtil
2424
import java.util.concurrent.ExecutionException
25+
import java.util.concurrent.TimeUnit
26+
import java.util.concurrent.TimeoutException
27+
28+
private const val IMAGE_LOAD_TIMEOUT_SECONDS = 2L
2529

2630
fun Drawable?.toLargeBitmap(context: Context): Bitmap? {
2731
if (this == null) {
@@ -48,11 +52,13 @@ fun Recipient.getContactDrawable(context: Context): Drawable? {
4852
context.resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_width),
4953
context.resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_height)
5054
)
51-
.get()
55+
.get(IMAGE_LOAD_TIMEOUT_SECONDS, TimeUnit.SECONDS)
5256
} catch (e: InterruptedException) {
5357
FallbackAvatarDrawable(context, fallbackAvatar).circleCrop()
5458
} catch (e: ExecutionException) {
5559
FallbackAvatarDrawable(context, fallbackAvatar).circleCrop()
60+
} catch (e: TimeoutException) {
61+
FallbackAvatarDrawable(context, fallbackAvatar).circleCrop()
5662
}
5763
} else {
5864
FallbackAvatarDrawable(context, fallbackAvatar).circleCrop()
@@ -66,11 +72,13 @@ fun Uri.toBitmap(context: Context, dimension: Int): Bitmap {
6672
.load(DecryptableUri(this))
6773
.diskCacheStrategy(DiskCacheStrategy.NONE)
6874
.submit(dimension, dimension)
69-
.get()
75+
.get(2, TimeUnit.SECONDS)
7076
} catch (e: InterruptedException) {
7177
Bitmap.createBitmap(dimension, dimension, Bitmap.Config.RGB_565)
7278
} catch (e: ExecutionException) {
7379
Bitmap.createBitmap(dimension, dimension, Bitmap.Config.RGB_565)
80+
} catch (e: TimeoutException) {
81+
Bitmap.createBitmap(dimension, dimension, Bitmap.Config.RGB_565)
7482
}
7583
}
7684

0 commit comments

Comments
 (0)