From a0fd6618a760e38fd7380b9fde09a393d1450d16 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Fri, 3 Sep 2021 12:25:26 +0200 Subject: [PATCH] Change logic on how the config wrapper is injected --- .../java/org/cryptomator/common/vaults/VaultComponent.java | 4 ++++ .../org/cryptomator/common/vaults/VaultConfigWrapper.java | 2 -- .../java/org/cryptomator/common/vaults/VaultListManager.java | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/cryptomator/common/vaults/VaultComponent.java b/src/main/java/org/cryptomator/common/vaults/VaultComponent.java index 588ff64cd..c0f92657b 100644 --- a/src/main/java/org/cryptomator/common/vaults/VaultComponent.java +++ b/src/main/java/org/cryptomator/common/vaults/VaultComponent.java @@ -10,6 +10,7 @@ import dagger.Subcomponent; import org.cryptomator.common.Nullable; import org.cryptomator.common.mountpoint.MountPointChooserModule; import org.cryptomator.common.settings.VaultSettings; +import org.cryptomator.cryptofs.VaultConfig; import javax.inject.Named; @@ -25,6 +26,9 @@ public interface VaultComponent { @BindsInstance Builder vaultSettings(VaultSettings vaultSettings); + @BindsInstance + Builder vaultConfigWrapper(VaultConfigWrapper rapper); + @BindsInstance Builder initialVaultState(VaultState.Value vaultState); diff --git a/src/main/java/org/cryptomator/common/vaults/VaultConfigWrapper.java b/src/main/java/org/cryptomator/common/vaults/VaultConfigWrapper.java index b6f767e23..a385a319f 100644 --- a/src/main/java/org/cryptomator/common/vaults/VaultConfigWrapper.java +++ b/src/main/java/org/cryptomator/common/vaults/VaultConfigWrapper.java @@ -17,13 +17,11 @@ import java.util.Objects; /** * Wrapper for lazy loading and on-demand reloading of the vault configuration. */ -@PerVault public class VaultConfigWrapper { private final VaultSettings settings; private final ObjectProperty config; - @Inject VaultConfigWrapper(VaultSettings settings) { this.settings = settings; this.config = new SimpleObjectProperty<>(); diff --git a/src/main/java/org/cryptomator/common/vaults/VaultListManager.java b/src/main/java/org/cryptomator/common/vaults/VaultListManager.java index 53374d929..9e2cb74f9 100644 --- a/src/main/java/org/cryptomator/common/vaults/VaultListManager.java +++ b/src/main/java/org/cryptomator/common/vaults/VaultListManager.java @@ -98,8 +98,9 @@ public class VaultListManager { try { VaultState.Value vaultState = determineVaultState(vaultSettings.path().get()); if (vaultState == LOCKED) { - //TODO: maybe already set it in the vault Wrapper ? - VaultConfig.UnverifiedVaultConfig config = VaultConfigWrapper.readConfigFromStorage(vaultSettings.path().get()); + VaultConfigWrapper wrapper = new VaultConfigWrapper(vaultSettings); + compBuilder.vaultConfigWrapper(wrapper); //first set the wrapper in the builder, THEN try to load config + wrapper.reloadConfig(); } compBuilder.initialVaultState(vaultState); } catch (IOException e) {