import org.asamk.signal.manager.api.Profile;
import org.asamk.signal.manager.api.TrustLevel;
import org.asamk.signal.manager.internal.SignalDependencies;
+import org.asamk.signal.manager.jobs.DownloadProfileAvatarJob;
import org.asamk.signal.manager.storage.SignalAccount;
import org.asamk.signal.manager.storage.recipients.RecipientAddress;
import org.signal.libsignal.protocol.IdentityKey;
if (profileKey != null) {
account.setProfileKey(profileKey);
final var avatarPath = accountRecord.getAvatarUrlPath().orElse(null);
- context.getProfileHelper().downloadProfileAvatar(account.getSelfRecipientId(), avatarPath, profileKey);
+ context.getJobExecutor().enqueueJob(new DownloadProfileAvatarJob(avatarPath));
}
}
--- /dev/null
+package org.asamk.signal.manager.jobs;
+
+import org.asamk.signal.manager.helper.Context;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DownloadProfileAvatarJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DownloadProfileAvatarJob.class);
+ private final String avatarPath;
+
+ public DownloadProfileAvatarJob(final String avatarPath) {
+ this.avatarPath = avatarPath;
+ }
+
+ @Override
+ public void run(Context context) {
+ logger.trace("Downloading profile avatar {}", avatarPath);
+ final var account = context.getAccount();
+ context.getProfileHelper()
+ .downloadProfileAvatar(account.getSelfRecipientId(), avatarPath, account.getProfileKey());
+ }
+}