mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-20 02:58:45 +00:00
Add 2s timeout to message notifier icon loading.
This commit is contained in:
committed by
Cody Henthorne
parent
0afa75564f
commit
6680e74cea
@@ -22,6 +22,10 @@ import org.thoughtcrime.securesms.notifications.NotificationIds
|
|||||||
import org.thoughtcrime.securesms.recipients.Recipient
|
import org.thoughtcrime.securesms.recipients.Recipient
|
||||||
import org.thoughtcrime.securesms.util.BitmapUtil
|
import org.thoughtcrime.securesms.util.BitmapUtil
|
||||||
import java.util.concurrent.ExecutionException
|
import java.util.concurrent.ExecutionException
|
||||||
|
import java.util.concurrent.TimeUnit
|
||||||
|
import java.util.concurrent.TimeoutException
|
||||||
|
|
||||||
|
private const val IMAGE_LOAD_TIMEOUT_SECONDS = 2L
|
||||||
|
|
||||||
fun Drawable?.toLargeBitmap(context: Context): Bitmap? {
|
fun Drawable?.toLargeBitmap(context: Context): Bitmap? {
|
||||||
if (this == null) {
|
if (this == null) {
|
||||||
@@ -48,11 +52,13 @@ fun Recipient.getContactDrawable(context: Context): Drawable? {
|
|||||||
context.resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_width),
|
context.resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_width),
|
||||||
context.resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_height)
|
context.resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_height)
|
||||||
)
|
)
|
||||||
.get()
|
.get(IMAGE_LOAD_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
} catch (e: InterruptedException) {
|
} catch (e: InterruptedException) {
|
||||||
FallbackAvatarDrawable(context, fallbackAvatar).circleCrop()
|
FallbackAvatarDrawable(context, fallbackAvatar).circleCrop()
|
||||||
} catch (e: ExecutionException) {
|
} catch (e: ExecutionException) {
|
||||||
FallbackAvatarDrawable(context, fallbackAvatar).circleCrop()
|
FallbackAvatarDrawable(context, fallbackAvatar).circleCrop()
|
||||||
|
} catch (e: TimeoutException) {
|
||||||
|
FallbackAvatarDrawable(context, fallbackAvatar).circleCrop()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
FallbackAvatarDrawable(context, fallbackAvatar).circleCrop()
|
FallbackAvatarDrawable(context, fallbackAvatar).circleCrop()
|
||||||
@@ -66,11 +72,13 @@ fun Uri.toBitmap(context: Context, dimension: Int): Bitmap {
|
|||||||
.load(DecryptableUri(this))
|
.load(DecryptableUri(this))
|
||||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||||
.submit(dimension, dimension)
|
.submit(dimension, dimension)
|
||||||
.get()
|
.get(2, TimeUnit.SECONDS)
|
||||||
} catch (e: InterruptedException) {
|
} catch (e: InterruptedException) {
|
||||||
Bitmap.createBitmap(dimension, dimension, Bitmap.Config.RGB_565)
|
Bitmap.createBitmap(dimension, dimension, Bitmap.Config.RGB_565)
|
||||||
} catch (e: ExecutionException) {
|
} catch (e: ExecutionException) {
|
||||||
Bitmap.createBitmap(dimension, dimension, Bitmap.Config.RGB_565)
|
Bitmap.createBitmap(dimension, dimension, Bitmap.Config.RGB_565)
|
||||||
|
} catch (e: TimeoutException) {
|
||||||
|
Bitmap.createBitmap(dimension, dimension, Bitmap.Config.RGB_565)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user