From 5e34f1235dc023075c590e3998e68647758faa05 Mon Sep 17 00:00:00 2001 From: jubb Date: Tue, 9 Mar 2021 11:56:24 +1100 Subject: [PATCH] fix: only set profile avatar ID after download image --- .../jobs/RetrieveProfileAvatarJob.java | 20 +++++++++++-------- .../loki/protocol/MultiDeviceProtocol.kt | 2 -- 2 files changed, 12 insertions(+), 10 deletions(-) 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 4ac8924187..d89db00604 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java @@ -2,29 +2,30 @@ package org.thoughtcrime.securesms.jobs; import android.app.Application; -import androidx.annotation.NonNull; import android.text.TextUtils; +import androidx.annotation.NonNull; + +import org.session.libsession.messaging.avatars.AvatarHelper; import org.session.libsession.messaging.jobs.Data; import org.session.libsession.messaging.threads.Address; import org.session.libsession.messaging.threads.recipients.Recipient; -import org.session.libsession.messaging.avatars.AvatarHelper; +import org.session.libsession.utilities.TextSecurePreferences; import org.session.libsession.utilities.Util; - -import org.thoughtcrime.securesms.jobmanager.Job; -import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; +import org.session.libsignal.service.api.SignalServiceMessageReceiver; +import org.session.libsignal.service.api.push.exceptions.PushNetworkException; import org.session.libsignal.utilities.logging.Log; - import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.RecipientDatabase; import org.thoughtcrime.securesms.dependencies.InjectableType; -import org.session.libsignal.service.api.SignalServiceMessageReceiver; -import org.session.libsignal.service.api.push.exceptions.PushNetworkException; +import org.thoughtcrime.securesms.jobmanager.Job; +import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.security.SecureRandom; import java.util.concurrent.TimeUnit; import javax.inject.Inject; @@ -110,6 +111,9 @@ public class RetrieveProfileAvatarJob extends BaseJob implements InjectableType if (downloadDestination != null) downloadDestination.delete(); } + if (recipient.isLocalNumber()) { + TextSecurePreferences.setProfileAvatarId(context, new SecureRandom().nextInt()); + } database.setProfileAvatar(recipient, profileAvatar); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt index e4502fbb7f..d6f3ce408e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt @@ -22,7 +22,6 @@ import org.thoughtcrime.securesms.database.DatabaseFactory import org.thoughtcrime.securesms.jobs.RetrieveProfileAvatarJob import org.thoughtcrime.securesms.loki.utilities.ContactUtilities import org.thoughtcrime.securesms.loki.utilities.OpenGroupUtilities -import java.security.SecureRandom import java.util.* object MultiDeviceProtocol { @@ -130,7 +129,6 @@ object MultiDeviceProtocol { recipientDatabase.setProfileKey(ourRecipient, configurationMessage.profileKey) if (!configurationMessage.profilePicture.isNullOrEmpty() && TextSecurePreferences.getProfilePictureURL(context) != configurationMessage.profilePicture) { TextSecurePreferences.setProfilePictureURL(context, configurationMessage.profilePicture) - TextSecurePreferences.setProfileAvatarId(context, SecureRandom().nextInt()) ApplicationContext.getInstance(context).jobManager.add(RetrieveProfileAvatarJob(ourRecipient, configurationMessage.profilePicture)) } }