Skip to content

Commit

Permalink
Merge pull request #2316 from ripcurlx/fix-multiple-payment-account-i…
Browse files Browse the repository at this point in the history
…mport

Not show warning popup for imported payment accounts
  • Loading branch information
ManfredKarrer authored Jan 24, 2019
2 parents c4c0ea4 + 17ab1ef commit e847a86
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 2 deletions.
2 changes: 1 addition & 1 deletion core/src/main/java/bisq/core/app/BisqSetup.java
Original file line number Diff line number Diff line change
Expand Up @@ -659,7 +659,7 @@ private void initDomainServices() {
private void maybeShowSecurityRecommendation() {
String key = "remindPasswordAndBackup";
user.getPaymentAccountsAsObservable().addListener((SetChangeListener<PaymentAccount>) change -> {
if (!walletsManager.areWalletsEncrypted() && preferences.showAgain(key) && change.wasAdded() &&
if (!walletsManager.areWalletsEncrypted() && !user.isPaymentAccountImport() && preferences.showAgain(key) && change.wasAdded() &&
displaySecurityRecommendationHandler != null)
displaySecurityRecommendationHandler.accept(key);
});
Expand Down
17 changes: 17 additions & 0 deletions core/src/main/java/bisq/core/user/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -71,6 +72,7 @@ public class User implements PersistedDataHost {
private ObjectProperty<PaymentAccount> currentPaymentAccountProperty;

private UserPayload userPayload = new UserPayload();
private boolean isPaymentAccountImport = false;

@Inject
public User(Storage<UserPayload> storage, KeyRing keyRing) {
Expand Down Expand Up @@ -201,6 +203,17 @@ public void addPaymentAccount(PaymentAccount paymentAccount) {
persist();
}

public void addImportedPaymentAccounts(Collection<PaymentAccount> 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)
Expand Down Expand Up @@ -436,4 +449,8 @@ public List<MarketAlertFilter> getMarketAlertFilters() {
public PriceAlertFilter getPriceAlertFilter() {
return userPayload.getPriceAlertFilter();
}

public boolean isPaymentAccountImport() {
return isPaymentAccountImport;
}
}
5 changes: 4 additions & 1 deletion desktop/src/main/java/bisq/desktop/util/GUIUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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<PaymentAccount> 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 {
Expand Down

0 comments on commit e847a86

Please sign in to comment.