diff --git a/main/pom.xml b/main/pom.xml
index 02223a389..60ef7e7e9 100644
--- a/main/pom.xml
+++ b/main/pom.xml
@@ -25,7 +25,7 @@
16
- 2.1.0-beta1
+ 2.1.0-beta2
1.0.0-beta2
1.0.0-beta2
1.0.0-beta2
diff --git a/main/ui/src/main/java/org/cryptomator/ui/health/CheckController.java b/main/ui/src/main/java/org/cryptomator/ui/health/CheckController.java
index 77b137494..28b7a4915 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/health/CheckController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/health/CheckController.java
@@ -16,6 +16,7 @@ import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicReference;
@HealthCheckScoped
@@ -28,28 +29,29 @@ public class CheckController implements FxController {
private final Masterkey masterkey;
private final VaultConfig vaultConfig;
private final SecureRandom csprng;
+ private final ExecutorService executor;
@Inject
- public CheckController(@HealthCheckWindow Vault vault, @HealthCheckWindow Stage window, AtomicReference masterkeyRef, AtomicReference vaultConfigRef, SecureRandom csprng) {
+ public CheckController(@HealthCheckWindow Vault vault, @HealthCheckWindow Stage window, AtomicReference masterkeyRef, AtomicReference vaultConfigRef, SecureRandom csprng, ExecutorService executor) {
this.vault = vault;
this.window = window;
this.masterkey = Objects.requireNonNull(masterkeyRef.get());
this.vaultConfig = Objects.requireNonNull(vaultConfigRef.get());
this.csprng = csprng;
+ this.executor = executor;
}
@FXML
public void runCheck() {
- // TODO run in background task...
try (var cryptor = vaultConfig.getCipherCombo().getCryptorProvider(csprng).withKey(masterkey)) {
- List results = new ArrayList<>();
- HealthCheck.allChecks().forEach(c -> {
- LOG.info("Running check {}...", c.identifier());
- results.addAll(c.check(vault.getPath(), vaultConfig, masterkey, cryptor));
- });
- results.forEach(r -> {
- LOG.info("Result: {}", r);
- });
+ HealthCheck.allChecks().stream()
+ .peek(check -> {
+ LOG.info("Running check: {}", check.identifier());
+ })
+ .flatMap(check -> check.check(vault.getPath(), vaultConfig, masterkey, cryptor, executor))
+ .forEach(result -> {
+ LOG.info("Result: {}", result);
+ });
}
}