Merge pull request #1281 from PrinceOfEgypt/master

add delay to rates service startup
This commit is contained in:
craigraw 2024-02-27 15:23:45 +02:00 committed by GitHub
commit f14e2fb020
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -78,6 +78,8 @@ public class AppServices {
private static final int RATES_PERIOD_SECS = 5 * 60;
private static final int VERSION_CHECK_PERIOD_HOURS = 24;
private static final int CONNECTION_DELAY_SECS = 2;
private static final int RATES_STARTUP_DELAY_SECS_DEFAULT = 2;
private static final int RATES_STARTUP_DELAY_SECS_WINDOWS = 5;
private static final ExchangeSource DEFAULT_EXCHANGE_SOURCE = ExchangeSource.COINGECKO;
private static final Currency DEFAULT_FIAT_CURRENCY = Currency.getInstance("USD");
private static final String TOR_DEFAULT_PROXY_CIRCUIT_ID = "default";
@ -355,6 +357,21 @@ public class AppServices {
ExchangeSource.RatesService ratesService = new ExchangeSource.RatesService(
exchangeSource == null ? DEFAULT_EXCHANGE_SOURCE : exchangeSource,
currency == null ? DEFAULT_FIAT_CURRENCY : currency);
//Delay startup on first run
switch(org.controlsfx.tools.Platform.getCurrent())
{
case WINDOWS:
//Windows needs more time (5 Seconds)
ratesService.setDelay(Duration.seconds(RATES_STARTUP_DELAY_SECS_WINDOWS));
break;
case OSX:
case UNIX:
case UNKNOWN:
default:
//Other platforms seem ok with 2 Seconds
ratesService.setDelay(Duration.seconds(RATES_STARTUP_DELAY_SECS_DEFAULT));
break;
}
ratesService.setPeriod(Duration.seconds(RATES_PERIOD_SECS));
ratesService.setRestartOnFailure(true);