improve close timing of wallet loading dialog

This commit is contained in:
Craig Raw 2022-10-11 12:45:24 +02:00
parent 81cde4756a
commit 6768ad2028

View file

@ -52,10 +52,7 @@ public class LoadWallet implements Runnable {
loadWalletService.setExecutor(Storage.LoadWalletService.getSingleThreadedExecutor()); loadWalletService.setExecutor(Storage.LoadWalletService.getSingleThreadedExecutor());
loadWalletService.setOnSucceeded(workerStateEvent -> { loadWalletService.setOnSucceeded(workerStateEvent -> {
WalletAndKey walletAndKey = loadWalletService.getValue(); WalletAndKey walletAndKey = loadWalletService.getValue();
SparrowTerminal.get().getGuiThread().invokeLater(() -> { openWallet(storage, walletAndKey);
SparrowTerminal.get().getGui().removeWindow(loadingDialog);
Platform.runLater(() -> openWallet(storage, walletAndKey));
});
}); });
loadWalletService.setOnFailed(workerStateEvent -> { loadWalletService.setOnFailed(workerStateEvent -> {
Throwable exception = workerStateEvent.getSource().getException(); Throwable exception = workerStateEvent.getSource().getException();
@ -80,10 +77,7 @@ public class LoadWallet implements Runnable {
loadWalletService.setOnSucceeded(workerStateEvent -> { loadWalletService.setOnSucceeded(workerStateEvent -> {
EventManager.get().post(new StorageEvent(storage.getWalletId(null), TimedEvent.Action.END, "Done")); EventManager.get().post(new StorageEvent(storage.getWalletId(null), TimedEvent.Action.END, "Done"));
WalletAndKey walletAndKey = loadWalletService.getValue(); WalletAndKey walletAndKey = loadWalletService.getValue();
SparrowTerminal.get().getGuiThread().invokeLater(() -> { openWallet(storage, walletAndKey);
SparrowTerminal.get().getGui().removeWindow(loadingDialog);
Platform.runLater(() -> openWallet(storage, walletAndKey));
});
}); });
loadWalletService.setOnFailed(workerStateEvent -> { loadWalletService.setOnFailed(workerStateEvent -> {
EventManager.get().post(new StorageEvent(storage.getWalletId(null), TimedEvent.Action.END, "Failed")); EventManager.get().post(new StorageEvent(storage.getWalletId(null), TimedEvent.Action.END, "Failed"));
@ -124,7 +118,10 @@ public class LoadWallet implements Runnable {
openWallet(entry.getValue(), entry.getKey()); openWallet(entry.getValue(), entry.getKey());
} }
if(walletAndKey.getWallet().isMasterWallet()) { if(walletAndKey.getWallet().isMasterWallet()) {
SparrowTerminal.get().getGuiThread().invokeLater(() -> getOpeningDialog(walletAndKey.getWallet()).showDialog(SparrowTerminal.get().getGui())); SparrowTerminal.get().getGuiThread().invokeLater(() -> {
SparrowTerminal.get().getGui().removeWindow(loadingDialog);
getOpeningDialog(walletAndKey.getWallet()).showDialog(SparrowTerminal.get().getGui());
});
} }
} catch(Exception e) { } catch(Exception e) {
log.error("Wallet Error", e); log.error("Wallet Error", e);