From 94ffbb3e8eaa02bab71d897d9f6c8d54fc8ce8e6 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Tue, 6 Feb 2024 10:32:20 -0500 Subject: [PATCH] Fix NPE crash when scanning safety numbers. --- .../securesms/components/verify/SafetyNumberQrView.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/verify/SafetyNumberQrView.kt b/app/src/main/java/org/thoughtcrime/securesms/components/verify/SafetyNumberQrView.kt index 2db7ec70d2..59e29fb147 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/verify/SafetyNumberQrView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/verify/SafetyNumberQrView.kt @@ -9,7 +9,6 @@ import android.animation.ValueAnimator import android.content.Context import android.content.res.ColorStateList import android.graphics.Bitmap -import android.graphics.BitmapFactory import android.graphics.Canvas import android.graphics.Outline import android.graphics.PorterDuff @@ -26,12 +25,14 @@ import android.widget.TextView import androidx.annotation.DrawableRes import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat +import androidx.core.graphics.drawable.toBitmap import androidx.core.widget.ImageViewCompat import androidx.interpolator.view.animation.FastOutSlowInInterpolator import org.signal.core.util.dp import org.signal.libsignal.protocol.fingerprint.Fingerprint import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.qr.QrCodeUtil +import org.thoughtcrime.securesms.util.ContextUtil import org.thoughtcrime.securesms.util.ViewUtil import org.thoughtcrime.securesms.util.visible import java.nio.charset.Charset @@ -211,7 +212,7 @@ class SafetyNumberQrView : ConstraintLayout { private fun createVerifiedBitmap(width: Int, height: Int, @DrawableRes id: Int): Bitmap { val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888) val canvas = Canvas(bitmap) - val check = BitmapFactory.decodeResource(resources, id) + val check = ContextUtil.requireDrawable(context, id).toBitmap() val offset = ((width - check.width) / 2).toFloat() canvas.drawBitmap(check, offset, offset, null) return bitmap