diff --git a/src/main/java/org/cryptomator/common/Constants.java b/src/main/java/org/cryptomator/common/Constants.java index 06dedfc2d..90bd3c8ec 100644 --- a/src/main/java/org/cryptomator/common/Constants.java +++ b/src/main/java/org/cryptomator/common/Constants.java @@ -5,6 +5,7 @@ public interface Constants { String MASTERKEY_FILENAME = "masterkey.cryptomator"; String MASTERKEY_BACKUP_SUFFIX = ".bkup"; String VAULTCONFIG_FILENAME = "vault.cryptomator"; + String CRYPTOMATOR_FILENAME_EXT = ".cryptomator"; byte[] PEPPER = new byte[0]; } diff --git a/src/main/java/org/cryptomator/ui/launcher/AppLaunchEventHandler.java b/src/main/java/org/cryptomator/ui/launcher/AppLaunchEventHandler.java index f4e5bb790..52ba838c0 100644 --- a/src/main/java/org/cryptomator/ui/launcher/AppLaunchEventHandler.java +++ b/src/main/java/org/cryptomator/ui/launcher/AppLaunchEventHandler.java @@ -11,12 +11,11 @@ import javax.inject.Named; import javax.inject.Singleton; import javafx.application.Platform; import java.io.IOException; -import java.nio.file.NoSuchFileException; import java.nio.file.Path; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ExecutorService; -import static org.cryptomator.common.Constants.MASTERKEY_FILENAME; +import static org.cryptomator.common.Constants.CRYPTOMATOR_FILENAME_EXT; @Singleton class AppLaunchEventHandler { @@ -69,7 +68,7 @@ class AppLaunchEventHandler { assert Platform.isFxApplicationThread(); try { final Vault v; - if (potentialVaultPath.getFileName().toString().equals(MASTERKEY_FILENAME)) { + if (potentialVaultPath.getFileName().toString().endsWith(CRYPTOMATOR_FILENAME_EXT)) { v = vaultListManager.add(potentialVaultPath.getParent()); } else { v = vaultListManager.add(potentialVaultPath); diff --git a/src/main/java/org/cryptomator/ui/mainwindow/MainWindowController.java b/src/main/java/org/cryptomator/ui/mainwindow/MainWindowController.java index 5d1781e19..c81aff125 100644 --- a/src/main/java/org/cryptomator/ui/mainwindow/MainWindowController.java +++ b/src/main/java/org/cryptomator/ui/mainwindow/MainWindowController.java @@ -27,6 +27,7 @@ import java.nio.file.Path; import java.util.Set; import java.util.stream.Collectors; +import static org.cryptomator.common.Constants.CRYPTOMATOR_FILENAME_EXT; import static org.cryptomator.common.Constants.MASTERKEY_FILENAME; import static org.cryptomator.common.Constants.VAULTCONFIG_FILENAME; @@ -94,6 +95,9 @@ public class MainWindowController implements FxController { private boolean containsVault(Path path) { try { + if (path.getFileName().toString().endsWith(CRYPTOMATOR_FILENAME_EXT)) { + path = path.getParent(); + } return CryptoFileSystemProvider.checkDirStructureForVault(path, VAULTCONFIG_FILENAME, MASTERKEY_FILENAME) != DirStructure.UNRELATED; } catch (IOException e) { return false; @@ -102,7 +106,7 @@ public class MainWindowController implements FxController { private void addVault(Path pathToVault) { try { - if (pathToVault.getFileName().toString().equals(VAULTCONFIG_FILENAME)) { + if (pathToVault.getFileName().toString().endsWith(CRYPTOMATOR_FILENAME_EXT)) { vaultListManager.add(pathToVault.getParent()); } else { vaultListManager.add(pathToVault);