From 17ab1efacc3053d327decdb8c712840570f439fc Mon Sep 17 00:00:00 2001 From: Christoph Atteneder Date: Thu, 24 Jan 2019 14:39:46 +0100 Subject: [PATCH] Not show warning popup for imported payment accounts --- core/src/main/java/bisq/core/app/BisqSetup.java | 2 +- core/src/main/java/bisq/core/user/User.java | 17 +++++++++++++++++ .../main/java/bisq/desktop/util/GUIUtil.java | 5 ++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/bisq/core/app/BisqSetup.java b/core/src/main/java/bisq/core/app/BisqSetup.java index 295a3bbd838..cb8e6aa997e 100644 --- a/core/src/main/java/bisq/core/app/BisqSetup.java +++ b/core/src/main/java/bisq/core/app/BisqSetup.java @@ -659,7 +659,7 @@ private void initDomainServices() { private void maybeShowSecurityRecommendation() { String key = "remindPasswordAndBackup"; user.getPaymentAccountsAsObservable().addListener((SetChangeListener) change -> { - if (!walletsManager.areWalletsEncrypted() && preferences.showAgain(key) && change.wasAdded() && + if (!walletsManager.areWalletsEncrypted() && !user.isPaymentAccountImport() && preferences.showAgain(key) && change.wasAdded() && displaySecurityRecommendationHandler != null) displaySecurityRecommendationHandler.accept(key); }); diff --git a/core/src/main/java/bisq/core/user/User.java b/core/src/main/java/bisq/core/user/User.java index dead1a2bfa0..05b99b0fe21 100644 --- a/core/src/main/java/bisq/core/user/User.java +++ b/core/src/main/java/bisq/core/user/User.java @@ -44,6 +44,7 @@ import javafx.collections.SetChangeListener; import java.util.ArrayList; +import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Optional; @@ -71,6 +72,7 @@ public class User implements PersistedDataHost { private ObjectProperty currentPaymentAccountProperty; private UserPayload userPayload = new UserPayload(); + private boolean isPaymentAccountImport = false; @Inject public User(Storage storage, KeyRing keyRing) { @@ -201,6 +203,17 @@ public void addPaymentAccount(PaymentAccount paymentAccount) { persist(); } + public void addImportedPaymentAccounts(Collection paymentAccounts) { + isPaymentAccountImport = true; + + boolean changed = paymentAccountsAsObservable.addAll(paymentAccounts); + setCurrentPaymentAccount(paymentAccounts.stream().findFirst().get()); + if (changed) + persist(); + + isPaymentAccountImport = false; + } + public void removePaymentAccount(PaymentAccount paymentAccount) { boolean changed = paymentAccountsAsObservable.remove(paymentAccount); if (changed) @@ -436,4 +449,8 @@ public List getMarketAlertFilters() { public PriceAlertFilter getPriceAlertFilter() { return userPayload.getPriceAlertFilter(); } + + public boolean isPaymentAccountImport() { + return isPaymentAccountImport; + } } diff --git a/desktop/src/main/java/bisq/desktop/util/GUIUtil.java b/desktop/src/main/java/bisq/desktop/util/GUIUtil.java index 82424756a2d..77335f54dd3 100644 --- a/desktop/src/main/java/bisq/desktop/util/GUIUtil.java +++ b/desktop/src/main/java/bisq/desktop/util/GUIUtil.java @@ -113,6 +113,7 @@ import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Objects; @@ -211,15 +212,17 @@ public static void importAccounts(User user, String fileName, Preferences prefer PaymentAccountList persisted = paymentAccountsStorage.initAndGetPersistedWithFileName(fileName, 100); if (persisted != null) { final StringBuilder msg = new StringBuilder(); + final HashSet paymentAccounts = new HashSet<>(); persisted.getList().forEach(paymentAccount -> { final String id = paymentAccount.getId(); if (user.getPaymentAccount(id) == null) { - user.addPaymentAccount(paymentAccount); + paymentAccounts.add(paymentAccount); msg.append(Res.get("guiUtil.accountExport.tradingAccount", id)); } else { msg.append(Res.get("guiUtil.accountImport.noImport", id)); } }); + user.addImportedPaymentAccounts(paymentAccounts); new Popup<>().feedback(Res.get("guiUtil.accountImport.imported", path, msg)).show(); } else {