diff --git a/core/src/main/java/io/bitsquare/trade/TradeManager.java b/core/src/main/java/io/bitsquare/trade/TradeManager.java index e78ffd0180..212fe8baa9 100644 --- a/core/src/main/java/io/bitsquare/trade/TradeManager.java +++ b/core/src/main/java/io/bitsquare/trade/TradeManager.java @@ -239,7 +239,7 @@ public class TradeManager { trade.getDate(), (trade.getDepositTx() != null ? trade.getDepositTx().getHashAsString() : ""), keyRing.getPubKeyRing()); - tradeStatisticsManager.add(tradeStatistics); + tradeStatisticsManager.add(tradeStatistics, true); // We only republish trades from last 10 days // TODO check if needed at all. Don't want to remove it atm to not risk anything. diff --git a/core/src/main/java/io/bitsquare/trade/statistics/TradeStatisticsManager.java b/core/src/main/java/io/bitsquare/trade/statistics/TradeStatisticsManager.java index c0eff3d91d..d918087262 100644 --- a/core/src/main/java/io/bitsquare/trade/statistics/TradeStatisticsManager.java +++ b/core/src/main/java/io/bitsquare/trade/statistics/TradeStatisticsManager.java @@ -69,14 +69,14 @@ public class TradeStatisticsManager { HashSet persisted = statisticsStorage.initAndGetPersistedWithFileName("TradeStatistics"); if (persisted != null) - persisted.stream().forEach(this::add); + persisted.stream().forEach(e -> add(e, false)); p2PService.addHashSetChangedListener(new HashMapChangedListener() { @Override public void onAdded(ProtectedStorageEntry data) { final StoragePayload storagePayload = data.getStoragePayload(); if (storagePayload instanceof TradeStatistics) - add((TradeStatistics) storagePayload); + add((TradeStatistics) storagePayload, true); } @Override @@ -89,17 +89,19 @@ public class TradeStatisticsManager { p2PService.getP2PDataStorage().getMap().values().forEach(e -> { final StoragePayload storagePayload = e.getStoragePayload(); if (storagePayload instanceof TradeStatistics) - add((TradeStatistics) storagePayload); + add((TradeStatistics) storagePayload, false); }); } - public void add(TradeStatistics tradeStatistics) { + public void add(TradeStatistics tradeStatistics, boolean storeLocally) { if (!tradeStatisticsSet.contains(tradeStatistics)) { boolean itemAlreadyAdded = tradeStatisticsSet.stream().filter(e -> (e.getOfferId().equals(tradeStatistics.getOfferId()))).findAny().isPresent(); if (!itemAlreadyAdded) { tradeStatisticsSet.add(tradeStatistics); observableTradeStatisticsSet.add(tradeStatistics); - statisticsStorage.queueUpForSave(new HashSet<>(tradeStatisticsSet), 2000); + + if (storeLocally) + statisticsStorage.queueUpForSave(new HashSet<>(tradeStatisticsSet), 2000); dump(); } else {