diff --git a/pom.xml b/pom.xml
index 5e4641944..ab40f06b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,10 +34,10 @@
2.9.0
- 1.5.1
- 1.3.0
- 1.3.2
- 1.5.3
+ 1.6.0
+ 1.5.0
+ 1.4.0
+ 1.6.0
5.0.5
2.0.10
diff --git a/src/main/java/org/cryptomator/common/keychain/KeychainManager.java b/src/main/java/org/cryptomator/common/keychain/KeychainManager.java
index 04a46e742..2ac356f9e 100644
--- a/src/main/java/org/cryptomator/common/keychain/KeychainManager.java
+++ b/src/main/java/org/cryptomator/common/keychain/KeychainManager.java
@@ -42,25 +42,11 @@ public class KeychainManager implements KeychainAccessProvider {
return result;
}
- @Override
- public String displayName() {
- return getClass().getName();
- }
-
@Override
public void storePassphrase(String key, String displayName, CharSequence passphrase) throws KeychainAccessException {
- storePassphrase(key, displayName, passphrase, true);
- }
-
- //TODO: remove ignored parameter once the API is fixed
- @Override
- public void storePassphrase(String key, String displayName, CharSequence passphrase, boolean ignored) throws KeychainAccessException {
try {
lock.writeLock().lock();
- var kc = getKeychainOrFail();
- //this is the only keychain actually using the parameter
- var usesOSAuth = (kc.getClass().getName().equals("org.cryptomator.macos.keychain.TouchIdKeychainAccess"));
- kc.storePassphrase(key, displayName, passphrase, usesOSAuth);
+ getKeychainOrFail().storePassphrase(key, displayName, passphrase);
} finally {
lock.writeLock().unlock();
}
diff --git a/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java b/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java
index 4505f412d..584749920 100644
--- a/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java
+++ b/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java
@@ -85,7 +85,7 @@ public class GeneralPreferencesController implements FxController {
var keychainSettingsConverter = new ServiceToSettingsConverter<>(keychainAccessProviders);
keychainBackendChoiceBox.getItems().addAll(keychainAccessProviders);
keychainBackendChoiceBox.setValue(keychainSettingsConverter.fromString(settings.keychainProvider.get()));
- keychainBackendChoiceBox.setConverter(new KeychainProviderDisplayNameConverter());
+ keychainBackendChoiceBox.setConverter(new NamedServiceConverter<>());
Bindings.bindBidirectional(settings.keychainProvider, keychainBackendChoiceBox.valueProperty(), keychainSettingsConverter);
useKeychainCheckbox.selectedProperty().bindBidirectional(settings.useKeychain);
keychainBackendChoiceBox.disableProperty().bind(useKeychainCheckbox.selectedProperty().not());
@@ -106,13 +106,13 @@ public class GeneralPreferencesController implements FxController {
var idsAndNames = settings.directories.stream().collect(Collectors.toMap(vs -> vs.id, vs -> vs.displayName.getValue()));
if (!idsAndNames.isEmpty()) {
if (LOG.isDebugEnabled()) {
- LOG.debug("Migrating keychain entries {} from {} to {}", idsAndNames.keySet(), oldProvider.displayName(), newProvider.displayName());
+ LOG.debug("Migrating keychain entries {} from {} to {}", idsAndNames.keySet(), oldProvider.getName(), newProvider.getName());
}
keychainMigrations = keychainMigrations.thenRunAsync(() -> {
try {
KeychainManager.migrate(oldProvider, newProvider, idsAndNames);
} catch (KeychainAccessException e) {
- LOG.warn("Failed to migrate all entries from {} to {}", oldProvider.displayName(), newProvider.displayName(), e);
+ LOG.warn("Failed to migrate all entries from {} to {}", oldProvider.getName(), newProvider.getName(), e);
}
}, backgroundExecutor);
}
@@ -151,25 +151,6 @@ public class GeneralPreferencesController implements FxController {
}
/* Helper classes */
-
- private static class KeychainProviderDisplayNameConverter extends StringConverter {
-
- @Override
- public String toString(KeychainAccessProvider provider) {
- if (provider == null) {
- return null;
- } else {
- return provider.displayName();
- }
- }
-
- @Override
- public KeychainAccessProvider fromString(String string) {
- throw new UnsupportedOperationException();
- }
-
- }
-
private static class NamedServiceConverter extends StringConverter {
@Override
diff --git a/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java b/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java
index 73c8da522..c2d171c3b 100644
--- a/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java
+++ b/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java
@@ -16,12 +16,7 @@ class MapKeychainAccess implements KeychainAccessProvider {
private final Map map = new HashMap<>();
@Override
- public String displayName() {
- return getClass().getName();
- }
-
- @Override
- public void storePassphrase(String key, String displayName,CharSequence passphrase, boolean ignored) {
+ public void storePassphrase(String key, String displayName,CharSequence passphrase) {
char[] pw = new char[passphrase.length()];
for (int i = 0; i < passphrase.length(); i++) {
pw[i] = passphrase.charAt(i);