]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/jobs/DownloadProfileJob.java
Implement remote storage sync
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / jobs / DownloadProfileJob.java
diff --git a/lib/src/main/java/org/asamk/signal/manager/jobs/DownloadProfileJob.java b/lib/src/main/java/org/asamk/signal/manager/jobs/DownloadProfileJob.java
new file mode 100644 (file)
index 0000000..2279686
--- /dev/null
@@ -0,0 +1,24 @@
+package org.asamk.signal.manager.jobs;
+
+import org.asamk.signal.manager.helper.Context;
+import org.asamk.signal.manager.storage.recipients.RecipientAddress;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DownloadProfileJob implements Job {
+
+    private static final Logger logger = LoggerFactory.getLogger(DownloadProfileJob.class);
+    private final RecipientAddress address;
+
+    public DownloadProfileJob(RecipientAddress address) {
+        this.address = address;
+    }
+
+    @Override
+    public void run(Context context) {
+        logger.trace("Refreshing profile for {}", address);
+        final var account = context.getAccount();
+        final var recipientId = account.getRecipientStore().resolveRecipient(address);
+        context.getProfileHelper().refreshRecipientProfile(recipientId);
+    }
+}