From 8bbbe3611a02c0db54c1a32ed9f789bdedcb3a1f Mon Sep 17 00:00:00 2001 From: Alexander Bakker Date: Sun, 10 Mar 2024 19:50:17 +0100 Subject: [PATCH] Don't initialize VaultManager after the intro unless saving succeeds In rare cases where writing to disk fails after the intro, a crash could occur if the user presses "Done" again. VaultManager would have been initialized, and trying to initialize it again would result in a crash. --- .../java/com/beemdevelopment/aegis/vault/VaultManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/beemdevelopment/aegis/vault/VaultManager.java b/app/src/main/java/com/beemdevelopment/aegis/vault/VaultManager.java index 3fbfd294..c9191424 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/vault/VaultManager.java +++ b/app/src/main/java/com/beemdevelopment/aegis/vault/VaultManager.java @@ -55,8 +55,9 @@ public class VaultManager { throw new IllegalStateException("Vault manager is already initialized"); } - _repo = new VaultRepository(_context, new Vault(), creds); - save(); + VaultRepository repo = new VaultRepository(_context, new Vault(), creds); + repo.save(); + _repo = repo; if (getVault().isEncryptionEnabled()) { startNotificationService();