]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/manager/ProvisioningManager.java
Refactor Manager and SignalAccount to implement Closeable
[signal-cli] / src / main / java / org / asamk / signal / manager / ProvisioningManager.java
index 61d3315f3ddb6f9aad1272893c10885a57d0a34b..e7693f21028a3b8de464836d6b5283eb0286bbb4 100644 (file)
@@ -83,19 +83,22 @@ public class ProvisioningManager {
                 throw new IOException("Received invalid profileKey", e);
             }
         }
-        SignalAccount account = SignalAccount.createLinkedAccount(pathConfig.getDataPath(), username, ret.getUuid(), password, ret.getDeviceId(), ret.getIdentity(), registrationId, signalingKey, profileKey);
-        account.save();
 
-        Manager m = new Manager(account, pathConfig, serviceConfiguration, userAgent);
+        try (SignalAccount account = SignalAccount.createLinkedAccount(pathConfig.getDataPath(), username, ret.getUuid(), password, ret.getDeviceId(), ret.getIdentity(), registrationId, signalingKey, profileKey)) {
+            account.save();
 
-        m.refreshPreKeys();
+            try (Manager m = new Manager(account, pathConfig, serviceConfiguration, userAgent)) {
 
-        m.requestSyncGroups();
-        m.requestSyncContacts();
-        m.requestSyncBlocked();
-        m.requestSyncConfiguration();
+                m.refreshPreKeys();
 
-        m.saveAccount();
+                m.requestSyncGroups();
+                m.requestSyncContacts();
+                m.requestSyncBlocked();
+                m.requestSyncConfiguration();
+
+                m.saveAccount();
+            }
+        }
 
         return username;
     }