diff --git a/main/ui/src/main/java/org/cryptomator/ui/launcher/UiLauncher.java b/main/ui/src/main/java/org/cryptomator/ui/launcher/UiLauncher.java index 7024de477..c67f0dfeb 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/launcher/UiLauncher.java +++ b/main/ui/src/main/java/org/cryptomator/ui/launcher/UiLauncher.java @@ -62,10 +62,10 @@ public class UiLauncher { Desktop.getDesktop().addAppEventListener((AppReopenedListener) e -> showMainWindowAsync(hasTrayIcon)); // auto unlock - Collection vaultsWithAutoUnlockEnabled = vaults.filtered(v -> v.getVaultSettings().unlockAfterStartup().get()); - if (!vaultsWithAutoUnlockEnabled.isEmpty()) { + Collection vaultsToAutoUnlock = vaults.filtered(this::shouldAttemptAutoUnlock); + if (!vaultsToAutoUnlock.isEmpty()) { fxApplicationStarter.get(hasTrayIcon).thenAccept(app -> { - for (Vault vault : vaultsWithAutoUnlockEnabled){ + for (Vault vault : vaultsToAutoUnlock){ app.startUnlockWorkflow(vault); } }); @@ -73,6 +73,10 @@ public class UiLauncher { launchEventHandler.startHandlingLaunchEvents(hasTrayIcon); } + + private boolean shouldAttemptAutoUnlock(Vault vault) { + return vault.isLocked() && vault.getVaultSettings().unlockAfterStartup().get(); + } private void showMainWindowAsync(boolean hasTrayIcon) { fxApplicationStarter.get(hasTrayIcon).thenAccept(FxApplication::showMainWindow);