From f859c5b1b58d7d9477ae87235117b8e05b86d89a Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Sun, 29 Mar 2020 18:53:30 -0400 Subject: [PATCH] Prevent conscrypt crash during profile retrieval. This was a mitigation that was previously in place that was forgotten during the recent avatar refactor. --- .../securesms/jobs/RetrieveProfileAvatarJob.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java index 087b9a015d..86956e081a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java @@ -100,7 +100,11 @@ public class RetrieveProfileAvatarJob extends BaseJob { SignalServiceMessageReceiver receiver = ApplicationDependencies.getSignalServiceMessageReceiver(); InputStream avatarStream = receiver.retrieveProfileAvatar(profileAvatar, downloadDestination, profileKey, AvatarHelper.AVATAR_DOWNLOAD_FAILSAFE_MAX_SIZE); - AvatarHelper.setAvatar(context, recipient.getId(), avatarStream); + try { + AvatarHelper.setAvatar(context, recipient.getId(), avatarStream); + } catch (AssertionError e) { + throw new IOException("Failed to copy stream. Likely a Conscrypt issue.", e); + } } catch (PushNetworkException e) { if (e.getCause() instanceof NonSuccessfulResponseCodeException) { Log.w(TAG, "Removing profile avatar (no image available) for: " + recipient.getId().serialize());