Skip to content

Commit f6fb64f

Browse files
committed
Run UpdateCheckerTask
1 parent 02ed88e commit f6fb64f

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

src/main/java/org/cryptomator/linux/update/FlatpakUpdater.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,23 @@
1212
import org.purejava.portal.Flatpak;
1313
import org.purejava.portal.UpdatePortal;
1414
import org.purejava.portal.Util;
15+
import org.purejava.portal.rest.UpdateCheckerTask;
1516
import org.slf4j.Logger;
1617
import org.slf4j.LoggerFactory;
1718

1819
import java.util.Collections;
1920
import java.util.List;
2021
import java.util.Map;
22+
import java.util.concurrent.ExecutorService;
23+
import java.util.concurrent.Executors;
2124

2225
@Priority(1000)
2326
@CheckAvailability
2427
@OperatingSystem(OperatingSystem.Value.LINUX)
2528
public class FlatpakUpdater implements UpdateService, AutoCloseable {
2629

2730
private static final Logger LOG = LoggerFactory.getLogger(FlatpakUpdater.class);
31+
private static final String APP_NAME = "org.cryptomator.Cryptomator";
2832

2933
private final UpdatePortal portal;
3034
private Flatpak.UpdateMonitor updateMonitor;
@@ -41,6 +45,18 @@ public boolean isSupported() {
4145

4246
@Override
4347
public String isUpdateAvailable(DistributionChannel channel) {
48+
if (channel != DistributionChannel.LINUX_FLATPAK) {
49+
return "";
50+
}
51+
try (ExecutorService executor = Executors.newFixedThreadPool(10)) {
52+
var task = new UpdateCheckerTask(APP_NAME);
53+
executor.submit(task);
54+
try {
55+
return task.get();
56+
} catch (Exception e) {
57+
LOG.error(e.toString(), e.getCause());
58+
}
59+
}
4460
return "";
4561
}
4662

@@ -105,12 +121,6 @@ public void notifyOnUpdateAvailable(Flatpak.UpdateMonitor.UpdateAvailable signal
105121
}
106122

107123
private UInt32 spawnApp(List<Byte> cwdPath, List<List<Byte>> argv, Map<UInt32, FileDescriptor> fds, Map<String, String> envs, UInt32 flags, Map<String, Variant<?>> options) {
108-
var pid = portal.Spawn(cwdPath, argv, fds, envs, flags, options);
109-
if (null != pid) {
110-
LOG.error("Spawning new application failed");
111-
} else {
112-
LOG.debug("New application spawned with PID {}", pid);
113-
}
114-
return pid;
124+
return portal.Spawn(cwdPath, argv, fds, envs, flags, options);
115125
}
116126
}

0 commit comments

Comments
 (0)