RemoteAirshipUrlConfigProvider implements AirshipUrlConfigProvider, RemoteAirshipConfigListener { @NonNull @Override public AirshipUrlConfig getConfig() { synchronized (lock) { if (urlConfig == null) { refreshConfig(); } return urlConfig; } } RemoteAirshipUrlConfigProvider(@NonNull AirshipConfigOptions configOptions,
                                          @NonNull PreferenceDataStore preferenceDataStore); void disableFallbackUrls(); @NonNull @Override AirshipUrlConfig getConfig(); @Override void onRemoteConfigUpdated(@NonNull RemoteAirshipConfig remoteAirshipConfig);  }
@Test public void testDefaultUrls() { AirshipConfigOptions configOptions = AirshipConfigOptions.newBuilder().build(); RemoteAirshipUrlConfigProvider provider = new RemoteAirshipUrlConfigProvider(configOptions, dataStore); AirshipUrlConfig urlConfig = provider.getConfig(); assertEquals(configOptions.deviceUrl, urlConfig.deviceUrl().build().toString()); assertEquals(configOptions.remoteDataUrl, urlConfig.remoteDataUrl().build().toString()); assertEquals(configOptions.analyticsUrl, urlConfig.analyticsUrl().build().toString()); assertEquals(configOptions.walletUrl, urlConfig.walletUrl().build().toString()); }