Handle bridgeAddresses as nullable

This commit is contained in:
Manfred Karrer 2017-11-04 14:48:55 -05:00
parent cb568ac05a
commit 845e3363ac
No known key found for this signature in database
GPG key ID: 401250966A6B2C46
2 changed files with 36 additions and 35 deletions

View file

@ -176,7 +176,8 @@ public final class Preferences implements PersistedDataHost {
setPreferredTradeCurrency(preferredTradeCurrency); setPreferredTradeCurrency(preferredTradeCurrency);
setFiatCurrencies(prefPayload.getFiatCurrencies()); setFiatCurrencies(prefPayload.getFiatCurrencies());
setCryptoCurrencies(prefPayload.getCryptoCurrencies()); setCryptoCurrencies(prefPayload.getCryptoCurrencies());
setBridgeAddresses(prefPayload.getBridgeAddresses()); if (prefPayload.getBridgeAddresses() != null)
setBridgeAddresses(prefPayload.getBridgeAddresses());
} else { } else {
prefPayload = new PreferencesPayload(); prefPayload = new PreferencesPayload();

View file

@ -67,7 +67,7 @@ public final class PreferencesPayload implements PersistableEnvelope {
private PaymentAccount selectedPaymentAccountForCreateOffer; private PaymentAccount selectedPaymentAccountForCreateOffer;
private boolean payFeeInBtc = true; private boolean payFeeInBtc = true;
@Nullable @Nullable
private List<String> bridgeAddresses = new ArrayList<>(); private List<String> bridgeAddresses;
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@ -85,37 +85,36 @@ public final class PreferencesPayload implements PersistableEnvelope {
@Override @Override
public Message toProtoMessage() { public Message toProtoMessage() {
PB.PreferencesPayload.Builder builder = PB.PreferencesPayload.newBuilder() PB.PreferencesPayload.Builder builder = PB.PreferencesPayload.newBuilder()
.setUserLanguage(userLanguage) .setUserLanguage(userLanguage)
.setUserCountry((PB.Country) userCountry.toProtoMessage()) .setUserCountry((PB.Country) userCountry.toProtoMessage())
.addAllFiatCurrencies(fiatCurrencies.stream() .addAllFiatCurrencies(fiatCurrencies.stream()
.map(fiatCurrency -> ((PB.TradeCurrency) fiatCurrency.toProtoMessage())) .map(fiatCurrency -> ((PB.TradeCurrency) fiatCurrency.toProtoMessage()))
.collect(Collectors.toList())) .collect(Collectors.toList()))
.addAllCryptoCurrencies(cryptoCurrencies.stream() .addAllCryptoCurrencies(cryptoCurrencies.stream()
.map(cryptoCurrency -> ((PB.TradeCurrency) cryptoCurrency.toProtoMessage())) .map(cryptoCurrency -> ((PB.TradeCurrency) cryptoCurrency.toProtoMessage()))
.collect(Collectors.toList())) .collect(Collectors.toList()))
.setBlockChainExplorerMainNet((PB.BlockChainExplorer) blockChainExplorerMainNet.toProtoMessage()) .setBlockChainExplorerMainNet((PB.BlockChainExplorer) blockChainExplorerMainNet.toProtoMessage())
.setBlockChainExplorerTestNet((PB.BlockChainExplorer) blockChainExplorerTestNet.toProtoMessage()) .setBlockChainExplorerTestNet((PB.BlockChainExplorer) blockChainExplorerTestNet.toProtoMessage())
.setBsqBlockChainExplorer((PB.BlockChainExplorer) bsqBlockChainExplorer.toProtoMessage()) .setBsqBlockChainExplorer((PB.BlockChainExplorer) bsqBlockChainExplorer.toProtoMessage())
.setAutoSelectArbitrators(autoSelectArbitrators) .setAutoSelectArbitrators(autoSelectArbitrators)
.putAllDontShowAgainMap(dontShowAgainMap) .putAllDontShowAgainMap(dontShowAgainMap)
.setTacAccepted(tacAccepted) .setTacAccepted(tacAccepted)
.setUseTorForBitcoinJ(useTorForBitcoinJ) .setUseTorForBitcoinJ(useTorForBitcoinJ)
.setShowOwnOffersInOfferBook(showOwnOffersInOfferBook) .setShowOwnOffersInOfferBook(showOwnOffersInOfferBook)
.setWithdrawalTxFeeInBytes(withdrawalTxFeeInBytes) .setWithdrawalTxFeeInBytes(withdrawalTxFeeInBytes)
.setUseCustomWithdrawalTxFee(useCustomWithdrawalTxFee) .setUseCustomWithdrawalTxFee(useCustomWithdrawalTxFee)
.setMaxPriceDistanceInPercent(maxPriceDistanceInPercent) .setMaxPriceDistanceInPercent(maxPriceDistanceInPercent)
.setTradeStatisticsTickUnitIndex(tradeStatisticsTickUnitIndex) .setTradeStatisticsTickUnitIndex(tradeStatisticsTickUnitIndex)
.setResyncSpvRequested(resyncSpvRequested) .setResyncSpvRequested(resyncSpvRequested)
.setSortMarketCurrenciesNumerically(sortMarketCurrenciesNumerically) .setSortMarketCurrenciesNumerically(sortMarketCurrenciesNumerically)
.setUsePercentageBasedPrice(usePercentageBasedPrice) .setUsePercentageBasedPrice(usePercentageBasedPrice)
.putAllPeerTagMap(peerTagMap) .putAllPeerTagMap(peerTagMap)
.setBitcoinNodes(bitcoinNodes) .setBitcoinNodes(bitcoinNodes)
.addAllIgnoreTradersList(ignoreTradersList) .addAllIgnoreTradersList(ignoreTradersList)
.setDirectoryChooserPath(directoryChooserPath) .setDirectoryChooserPath(directoryChooserPath)
.setBuyerSecurityDepositAsLong(buyerSecurityDepositAsLong) .setBuyerSecurityDepositAsLong(buyerSecurityDepositAsLong)
.setUseAnimations(useAnimations) .setUseAnimations(useAnimations)
.setPayFeeInBtc(payFeeInBtc); .setPayFeeInBtc(payFeeInBtc);
Optional.ofNullable(bridgeAddresses).ifPresent(builder::addAllBridgeAddresses);
Optional.ofNullable(backupDirectory).ifPresent(builder::setBackupDirectory); Optional.ofNullable(backupDirectory).ifPresent(builder::setBackupDirectory);
Optional.ofNullable(preferredTradeCurrency).ifPresent(e -> builder.setPreferredTradeCurrency((PB.TradeCurrency) e.toProtoMessage())); Optional.ofNullable(preferredTradeCurrency).ifPresent(e -> builder.setPreferredTradeCurrency((PB.TradeCurrency) e.toProtoMessage()));
Optional.ofNullable(offerBookChartScreenCurrencyCode).ifPresent(builder::setOfferBookChartScreenCurrencyCode); Optional.ofNullable(offerBookChartScreenCurrencyCode).ifPresent(builder::setOfferBookChartScreenCurrencyCode);
@ -123,7 +122,8 @@ public final class PreferencesPayload implements PersistableEnvelope {
Optional.ofNullable(buyScreenCurrencyCode).ifPresent(builder::setBuyScreenCurrencyCode); Optional.ofNullable(buyScreenCurrencyCode).ifPresent(builder::setBuyScreenCurrencyCode);
Optional.ofNullable(sellScreenCurrencyCode).ifPresent(builder::setSellScreenCurrencyCode); Optional.ofNullable(sellScreenCurrencyCode).ifPresent(builder::setSellScreenCurrencyCode);
Optional.ofNullable(selectedPaymentAccountForCreateOffer).ifPresent( Optional.ofNullable(selectedPaymentAccountForCreateOffer).ifPresent(
account -> builder.setSelectedPaymentAccountForCreateOffer(selectedPaymentAccountForCreateOffer.toProtoMessage())); account -> builder.setSelectedPaymentAccountForCreateOffer(selectedPaymentAccountForCreateOffer.toProtoMessage()));
Optional.ofNullable(bridgeAddresses).ifPresent(builder::addAllBridgeAddresses);
return PB.PersistableEnvelope.newBuilder().setPreferencesPayload(builder).build(); return PB.PersistableEnvelope.newBuilder().setPreferencesPayload(builder).build();
} }
@ -173,6 +173,6 @@ public final class PreferencesPayload implements PersistableEnvelope {
proto.getUseAnimations(), proto.getUseAnimations(),
paymentAccount, paymentAccount,
proto.getPayFeeInBtc(), proto.getPayFeeInBtc(),
proto.getBridgeAddressesList()); proto.getBridgeAddressesList().isEmpty() ? null : new ArrayList<>(proto.getBridgeAddressesList()));
} }
} }