introduce isMasterkeyFileVault()

This commit is contained in:
Jan-Peter Klein
2025-02-13 15:44:10 +01:00
parent 5b9d9150c5
commit 2df779f7ab
2 changed files with 16 additions and 1 deletions

View File

@@ -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.
*

View File

@@ -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)){