Browse Source

introduce isMasterkeyFileVault()

Jan-Peter Klein 1 month ago
parent
commit
2df779f7ab

+ 15 - 0
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.
+	 * <p>
+	 * This method checks if the {@code keyLoader} parameter matches the known Masterkey File Vault scheme
+	 * {@link MasterkeyFileLoadingStrategy#SCHEME}.
+	 * </p>
+	 *
+	 * @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.
 	 *

+ 1 - 1
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)){