Fix black bars around circular notification avatars

Uses the app's own square contact_photo_target_size dimension for
the Glide submit() call instead of the OEM-overridable system
dimensions android.R.dimen.notification_large_icon_width/height.
Those system dimensions aren't guaranteed to be square, so
CircleCrop() could produce a rectangular bitmap with transparent
letterbox padding, which some OEM skins render as black bars
instead of transparency.

Fixes #14811

Closes signalapp/Signal-Android#14867
This commit is contained in:
dweep
2026-07-07 14:11:31 +05:30
committed by Alex Hart
parent 6893a0abc0
commit 184e0bc3c2
@@ -49,8 +49,8 @@ fun Recipient.getContactDrawable(context: Context): Drawable? {
.diskCacheStrategy(DiskCacheStrategy.ALL)
.transform(MultiTransformation(listOf(CircleCrop())))
.submit(
context.resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_width),
context.resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_height)
context.resources.getDimensionPixelSize(R.dimen.contact_photo_target_size),
context.resources.getDimensionPixelSize(R.dimen.contact_photo_target_size)
)
.get(IMAGE_LOAD_TIMEOUT_SECONDS, TimeUnit.SECONDS)
} catch (e: InterruptedException) {