mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 18:00:02 +01:00
Blur avatar photos from unknown senders when in message request state.
This commit is contained in:
@@ -5,16 +5,21 @@ import android.content.Intent
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.net.Uri
|
||||
import com.bumptech.glide.load.MultiTransformation
|
||||
import com.bumptech.glide.load.Transformation
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||
import com.bumptech.glide.load.resource.bitmap.CircleCrop
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.contacts.avatars.ContactPhoto
|
||||
import org.thoughtcrime.securesms.contacts.avatars.FallbackContactPhoto
|
||||
import org.thoughtcrime.securesms.contacts.avatars.GeneratedContactPhoto
|
||||
import org.thoughtcrime.securesms.contacts.avatars.ProfileContactPhoto
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.DecryptableUri
|
||||
import org.thoughtcrime.securesms.mms.GlideApp
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
import org.thoughtcrime.securesms.util.BitmapUtil
|
||||
import org.thoughtcrime.securesms.util.BlurTransformation
|
||||
import java.util.concurrent.ExecutionException
|
||||
|
||||
fun Drawable?.toLargeBitmap(context: Context): Bitmap? {
|
||||
@@ -32,10 +37,16 @@ fun Recipient.getContactDrawable(context: Context): Drawable? {
|
||||
val fallbackContactPhoto: FallbackContactPhoto = if (isSelf) getFallback(context) else fallbackContactPhoto
|
||||
return if (contactPhoto != null) {
|
||||
try {
|
||||
val transforms: MutableList<Transformation<Bitmap>> = mutableListOf()
|
||||
if (shouldBlurAvatar()) {
|
||||
transforms += BlurTransformation(ApplicationDependencies.getApplication(), 0.25f, BlurTransformation.MAX_RADIUS)
|
||||
}
|
||||
transforms += CircleCrop()
|
||||
|
||||
GlideApp.with(context.applicationContext)
|
||||
.load(contactPhoto)
|
||||
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
||||
.circleCrop()
|
||||
.transform(MultiTransformation(transforms))
|
||||
.submit(
|
||||
context.resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_width),
|
||||
context.resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_height)
|
||||
|
||||
Reference in New Issue
Block a user