diff --git a/src/main/java/org/cryptomator/common/recovery/MasterkeyService.java b/src/main/java/org/cryptomator/common/recovery/MasterkeyService.java index 917ff932b..efa750326 100644 --- a/src/main/java/org/cryptomator/common/recovery/MasterkeyService.java +++ b/src/main/java/org/cryptomator/common/recovery/MasterkeyService.java @@ -77,7 +77,6 @@ public final class MasterkeyService { } } - private static Optional determineScheme(Path c9rFile, Masterkey masterkey) { return Arrays.stream(CryptorProvider.Scheme.values()).filter(scheme -> { try (Cryptor cryptor = CryptorProvider.forScheme(scheme).provide(masterkey.copy(), SecureRandom.getInstanceStrong())) { diff --git a/src/main/java/org/cryptomator/ui/dialogs/Dialogs.java b/src/main/java/org/cryptomator/ui/dialogs/Dialogs.java index 5ba3e1eb3..4469c2ca7 100644 --- a/src/main/java/org/cryptomator/ui/dialogs/Dialogs.java +++ b/src/main/java/org/cryptomator/ui/dialogs/Dialogs.java @@ -75,20 +75,14 @@ public class Dialogs { .setOkButtonKey(BUTTON_KEY_CLOSE); } - public SimpleDialog.Builder prepareRecoverPasswordSuccess(Stage window, Stage owner, ResourceBundle resourceBundle) { + public SimpleDialog.Builder prepareRecoverPasswordSuccess(Stage window) { return createDialogBuilder() .setOwner(window) // .setTitleKey("recoveryKey.recover.title") // .setMessageKey("recoveryKey.recover.resetSuccess.message") // .setDescriptionKey("recoveryKey.recover.resetSuccess.description") // .setIcon(FontAwesome5Icon.CHECK) - .setOkAction(stage -> { - stage.close(); - String ownerTitle = owner.getTitle(); - if (ownerTitle != null && ownerTitle.equals(resourceBundle.getString("addvaultwizard.existing.title"))) { - owner.close(); - } - }) + .setOkAction(Stage::close) .setOkButtonKey(BUTTON_KEY_CLOSE); } diff --git a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyCreationController.java b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyCreationController.java index b4c1db68a..0042b181e 100644 --- a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyCreationController.java +++ b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyCreationController.java @@ -160,9 +160,10 @@ public class RecoveryKeyCreationController implements FxController { vaultListManager.add(vault.getPath()); } window.close(); - dialogs.prepareRecoverPasswordSuccess(window, owner, resourceBundle) // + dialogs.prepareRecoverPasswordSuccess(window) // .setTitleKey("recoveryKey.recoverVaultConfig.title") // .setMessageKey("recoveryKey.recover.resetVaultConfigSuccess.message") // + .setDescriptionKey("recoveryKey.recover.resetMasterkeyFileSuccess.description") .build().showAndWait(); } catch (InvalidPassphraseException e) { diff --git a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyResetPasswordController.java b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyResetPasswordController.java index c810d5f22..000382f0b 100644 --- a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyResetPasswordController.java +++ b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyResetPasswordController.java @@ -142,7 +142,10 @@ public class RecoveryKeyResetPasswordController implements FxController { vaultListManager.add(vault.getPath()); } window.close(); - dialogs.prepareRecoverPasswordSuccess(window, owner, resourceBundle).setTitleKey("recoveryKey.recoverVaultConfig.title").setMessageKey("recoveryKey.recover.resetVaultConfigSuccess.message").build().showAndWait(); + dialogs.prepareRecoverPasswordSuccess(window) // + .setTitleKey("recoveryKey.recoverVaultConfig.title") // + .setMessageKey("recoveryKey.recover.resetVaultConfigSuccess.message") // + .build().showAndWait(); } catch (IOException | CryptoException e) { LOG.error("Recovery process failed", e); @@ -158,14 +161,11 @@ public class RecoveryKeyResetPasswordController implements FxController { task.setOnSucceeded(_ -> { LOG.info("Used recovery key to reset password for {}.", vault.getDisplayablePath()); - if (recoverType.get().equals(RecoveryActionType.RESET_PASSWORD)) { - window.close(); - dialogs.prepareRecoverPasswordSuccess(window, owner, resourceBundle).build().showAndWait(); - } else { - window.close(); - dialogs.prepareRecoverPasswordSuccess(window, owner, resourceBundle).setTitleKey("recoveryKey.recoverMasterkey.title").setMessageKey("recoveryKey.recover.resetMasterkeyFileSuccess.message").build().showAndWait(); - } window.close(); + switch (recoverType.get()){ + case RESET_PASSWORD -> dialogs.prepareRecoverPasswordSuccess(window).build().showAndWait(); + case RESTORE_MASTERKEY -> dialogs.prepareRecoverPasswordSuccess(window).setTitleKey("recoveryKey.recoverMasterkey.title").setMessageKey("recoveryKey.recover.resetMasterkeyFileSuccess.message").build().showAndWait(); + } }); task.setOnFailed(_ -> { diff --git a/src/main/resources/i18n/strings.properties b/src/main/resources/i18n/strings.properties index 6b4420ed5..22eb7047c 100644 --- a/src/main/resources/i18n/strings.properties +++ b/src/main/resources/i18n/strings.properties @@ -135,7 +135,7 @@ unlock.unlockBtn=Unlock ## Select unlock.chooseMasterkey.message=Masterkey file not found unlock.chooseMasterkey.description=Cryptomator could not find the masterkey file for vault "%s". Please choose the key file manually. -unlock.chooseMasterkey.restoreInstead=Restore instead... blablabla +unlock.chooseMasterkey.restoreInstead=Restore the masterkey file instead unlock.chooseMasterkey.filePickerTitle=Select Masterkey File unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator Masterkey ## Success @@ -533,6 +533,7 @@ recoveryKey.recover.resetSuccess.description=You can unlock your vault with the ### Recovery Key Vault Config Reset Success recoveryKey.recover.resetVaultConfigSuccess.message=Vault config reset successful recoveryKey.recover.resetMasterkeyFileSuccess.message=Masterkey file reset successful +recoveryKey.recover.resetMasterkeyFileSuccess.description=You can unlock your vault with your password now. ### Recover Kram recoveryKey.recoverExisting.title=Vault Added