|
@@ -21,6 +21,7 @@ import javax.inject.Singleton;
|
|
|
import javafx.collections.FXCollections;
|
|
|
import javafx.collections.ObservableList;
|
|
|
import java.io.IOException;
|
|
|
+import java.nio.file.Files;
|
|
|
import java.nio.file.NoSuchFileException;
|
|
|
import java.nio.file.Path;
|
|
|
import java.util.Collection;
|
|
@@ -126,15 +127,14 @@ public class VaultListManager {
|
|
|
}
|
|
|
|
|
|
private static VaultState.Value determineVaultState(Path pathToVault) throws IOException {
|
|
|
- try {
|
|
|
- return switch (CryptoFileSystemProvider.checkDirStructureForVault(pathToVault, VAULTCONFIG_FILENAME, MASTERKEY_FILENAME)) {
|
|
|
- case VAULT -> VaultState.Value.LOCKED;
|
|
|
- case UNRELATED -> VaultState.Value.MISSING;
|
|
|
- case MAYBE_LEGACY -> Migrators.get().needsMigration(pathToVault, VAULTCONFIG_FILENAME, MASTERKEY_FILENAME) ? VaultState.Value.NEEDS_MIGRATION : VaultState.Value.MISSING;
|
|
|
- };
|
|
|
- } catch (NoSuchFileException e) {
|
|
|
+ if (!Files.exists(pathToVault)) {
|
|
|
return VaultState.Value.MISSING;
|
|
|
}
|
|
|
+ return switch (CryptoFileSystemProvider.checkDirStructureForVault(pathToVault, VAULTCONFIG_FILENAME, MASTERKEY_FILENAME)) {
|
|
|
+ case VAULT -> VaultState.Value.LOCKED;
|
|
|
+ case UNRELATED -> VaultState.Value.MISSING;
|
|
|
+ case MAYBE_LEGACY -> Migrators.get().needsMigration(pathToVault, VAULTCONFIG_FILENAME, MASTERKEY_FILENAME) ? VaultState.Value.NEEDS_MIGRATION : VaultState.Value.MISSING;
|
|
|
+ };
|
|
|
}
|
|
|
|
|
|
}
|