Skip to content

Commit

Permalink
Fix issue with TriggerPriceService deactivating offer too early
Browse files Browse the repository at this point in the history
TriggerPriceService is changed to use a BootstrapListener
on the P2PService so that it can start after the P2P network
is ready.

Fixes #5190 : Prevents an Uncaught Exception error at startup.
  • Loading branch information
jmacxx authored and ripcurlx committed Feb 16, 2021
1 parent 1507b58 commit 90ada1f
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion core/src/main/java/bisq/core/offer/TriggerPriceService.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
import bisq.core.provider.price.MarketPrice;
import bisq.core.provider.price.PriceFeedService;

import bisq.network.p2p.BootstrapListener;
import bisq.network.p2p.P2PService;

import bisq.common.util.MathUtils;

import org.bitcoinj.utils.Fiat;
Expand All @@ -47,17 +50,34 @@
@Slf4j
@Singleton
public class TriggerPriceService {
private final P2PService p2PService;
private final OpenOfferManager openOfferManager;
private final PriceFeedService priceFeedService;
private final Map<String, Set<OpenOffer>> openOffersByCurrency = new HashMap<>();

@Inject
public TriggerPriceService(OpenOfferManager openOfferManager, PriceFeedService priceFeedService) {
public TriggerPriceService(P2PService p2PService,
OpenOfferManager openOfferManager,
PriceFeedService priceFeedService) {
this.p2PService = p2PService;
this.openOfferManager = openOfferManager;
this.priceFeedService = priceFeedService;
}

public void onAllServicesInitialized() {
if (p2PService.isBootstrapped()) {
onBootstrapComplete();
} else {
p2PService.addP2PServiceListener(new BootstrapListener() {
@Override
public void onUpdatedDataReceived() {
onBootstrapComplete();
}
});
}
}

private void onBootstrapComplete() {
openOfferManager.getObservableList().addListener((ListChangeListener<OpenOffer>) c -> {
c.next();
if (c.wasAdded()) {
Expand Down

0 comments on commit 90ada1f

Please sign in to comment.