do not refresh or republish offers if disconnected from xmr node

This commit is contained in:
woodser 2025-03-09 09:44:20 -04:00 committed by woodser
parent bedd38748e
commit 251a973fd6

View file

@ -1978,6 +1978,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
}
private boolean preventedFromPublishing(OpenOffer openOffer) {
if (!Boolean.TRUE.equals(xmrConnectionService.isConnected())) return true;
return openOffer.isDeactivated() || openOffer.isCanceled() || openOffer.getOffer().getOfferPayload().getArbitratorSigner() == null;
}
@ -2000,6 +2001,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
if (periodicRefreshOffersTimer == null)
periodicRefreshOffersTimer = UserThread.runPeriodically(() -> {
if (!stopped) {
synchronized (openOffers) {
int size = openOffers.size();
//we clone our list as openOffers might change during our delayed call
final ArrayList<OpenOffer> openOffersList = new ArrayList<>(openOffers.getList());
@ -2020,6 +2022,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
if (contained) maybeRefreshOffer(openOffer, 0, 1);
}, minDelay, maxDelay, TimeUnit.MILLISECONDS);
}
}
} else {
log.debug("We have stopped already. We ignore that periodicRefreshOffersTimer.run call.");
}