diff --git a/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java b/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java index ed843ff35..b9af0f4a3 100644 --- a/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java +++ b/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java @@ -4,6 +4,7 @@ import org.cryptomator.cryptolib.api.Masterkey; import org.cryptomator.cryptolib.api.MasterkeyLoader; import org.cryptomator.cryptolib.api.MasterkeyLoadingFailedException; import org.cryptomator.ui.keyloading.hub.HubKeyLoadingStrategy; +import org.cryptomator.ui.keyloading.masterkeyfile.MasterkeyFileLoadingStrategy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,6 +43,20 @@ public interface KeyLoadingStrategy extends MasterkeyLoader { return HubKeyLoadingStrategy.SCHEME_HUB_HTTP.equals(keyLoader) || HubKeyLoadingStrategy.SCHEME_HUB_HTTPS.equals(keyLoader); } + /** + * Determines whether the provided key loader scheme corresponds to a Masterkey File Vault. + *
+ * This method checks if the {@code keyLoader} parameter matches the known Masterkey File Vault scheme + * {@link MasterkeyFileLoadingStrategy#SCHEME}. + *
+ * + * @param keyLoader A string representing the key loader scheme to be checked. + * @return {@code true} if the given key loader scheme represents a Masterkey File Vault; {@code false} otherwise. + */ + static boolean isMasterkeyFileVault(String keyLoader) { + return MasterkeyFileLoadingStrategy.SCHEME.equals(keyLoader); + } + /** * Allows the loader to try and recover from an exception thrown during the last attempt. * diff --git a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java index cf803f915..154eb30dd 100644 --- a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java +++ b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java @@ -44,7 +44,7 @@ public class VaultOptionsController implements FxController { selectedTabProperty.addListener(observable -> this.selectChosenTab()); tabPane.getSelectionModel().selectedItemProperty().addListener(observable -> this.selectedTabChanged()); var vaultKeyLoader = vault.getVaultSettings().lastKnownKeyLoader.get(); - if(!vaultKeyLoader.equals(MasterkeyFileLoadingStrategy.SCHEME)){ + if(!KeyLoadingStrategy.isMasterkeyFileVault(vaultKeyLoader)){ tabPane.getTabs().remove(keyTab); } if(!KeyLoadingStrategy.isHubVault(vaultKeyLoader)){