Respect system avatar preference when syncing with linked devices.

This commit is contained in:
Greyson Parrelli 2021-05-06 19:13:55 -04:00
parent d1982cbc0a
commit ecc8d1738e

View file

@ -12,7 +12,6 @@ import androidx.annotation.Nullable;
import org.signal.core.util.logging.Log; import org.signal.core.util.logging.Log;
import org.signal.zkgroup.profiles.ProfileKey; import org.signal.zkgroup.profiles.ProfileKey;
import org.thoughtcrime.securesms.ApplicationContext;
import org.thoughtcrime.securesms.crypto.ProfileKeyUtil; import org.thoughtcrime.securesms.crypto.ProfileKeyUtil;
import org.thoughtcrime.securesms.crypto.UnidentifiedAccessUtil; import org.thoughtcrime.securesms.crypto.UnidentifiedAccessUtil;
import org.thoughtcrime.securesms.database.DatabaseFactory; 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.Data;
import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.Job;
import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.permissions.Permissions; import org.thoughtcrime.securesms.permissions.Permissions;
import org.thoughtcrime.securesms.profiles.AvatarHelper; import org.thoughtcrime.securesms.profiles.AvatarHelper;
import org.thoughtcrime.securesms.providers.BlobProvider; import org.thoughtcrime.securesms.providers.BlobProvider;
@ -275,13 +275,17 @@ public class MultiDeviceContactUpdateJob extends BaseJob {
} }
private Optional<SignalServiceAttachmentStream> getAvatar(@NonNull RecipientId recipientId, @Nullable Uri uri) { private Optional<SignalServiceAttachmentStream> getAvatar(@NonNull RecipientId recipientId, @Nullable Uri uri) {
Optional<SignalServiceAttachmentStream> stream = getSystemAvatar(uri); Optional<SignalServiceAttachmentStream> avatarStream = Optional.absent();
if (!stream.isPresent()) { if (SignalStore.settings().isPreferSystemContactPhotos()) {
return getProfileAvatar(recipientId); avatarStream = getSystemAvatar(uri);
} }
return stream; if (avatarStream.isPresent()) {
return avatarStream;
} else {
return getProfileAvatar(recipientId);
}
} }
private Optional<SignalServiceAttachmentStream> getProfileAvatar(@NonNull RecipientId recipientId) { private Optional<SignalServiceAttachmentStream> getProfileAvatar(@NonNull RecipientId recipientId) {