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