From ecc8d1738ecc9d910910bf3b92de3caae1457f61 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Thu, 6 May 2021 19:13:55 -0400 Subject: [PATCH] Respect system avatar preference when syncing with linked devices. --- .../jobs/MultiDeviceContactUpdateJob.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java index 4d57962ed..600b2dc41 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java @@ -12,7 +12,6 @@ import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; import org.signal.zkgroup.profiles.ProfileKey; -import org.thoughtcrime.securesms.ApplicationContext; import org.thoughtcrime.securesms.crypto.ProfileKeyUtil; import org.thoughtcrime.securesms.crypto.UnidentifiedAccessUtil; import org.thoughtcrime.securesms.database.DatabaseFactory; @@ -21,6 +20,7 @@ import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.jobmanager.Data; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; +import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.thoughtcrime.securesms.permissions.Permissions; import org.thoughtcrime.securesms.profiles.AvatarHelper; import org.thoughtcrime.securesms.providers.BlobProvider; @@ -275,13 +275,17 @@ public class MultiDeviceContactUpdateJob extends BaseJob { } private Optional getAvatar(@NonNull RecipientId recipientId, @Nullable Uri uri) { - Optional stream = getSystemAvatar(uri); + Optional avatarStream = Optional.absent(); - if (!stream.isPresent()) { - return getProfileAvatar(recipientId); + if (SignalStore.settings().isPreferSystemContactPhotos()) { + avatarStream = getSystemAvatar(uri); } - return stream; + if (avatarStream.isPresent()) { + return avatarStream; + } else { + return getProfileAvatar(recipientId); + } } private Optional getProfileAvatar(@NonNull RecipientId recipientId) {