public RemoteControlRemoteSettingsProvider(RemoteSettingsInitializer initializer)
     : base(initializer.VersionedRemoteSettingsStorageHandler, initializer.RemoteSettingsLogger)
 {
     remoteSettingsTelemetry      = initializer.Telemetry;
     remoteSettingsStorageHandler = initializer.VersionedRemoteSettingsStorageHandler;
     fileName                = initializer.RemoteSettingsFileName;
     remoteFileReader        = new Lazy <IRemoteFileReader>(() => initializer.RemoteFileReaderFactory.Instance());
     remoteSettingsParser    = initializer.RemoteSettingsParser;
     scopeParserFactory      = initializer.ScopeParserFactory;
     remoteSettingsValidator = initializer.RemoteSettingsValidator;
 }
 public TargetedNotificationsProviderBase(IRemoteSettingsStorageHandler cacheableStorageHandler, RemoteSettingsInitializer initializer)
     : base(cacheableStorageHandler, initializer.RemoteSettingsLogger)
 {
     this.cacheableStorageHandler = cacheableStorageHandler;
     useCache                       = GetValueOrDefaultFromCacheableStorage("TargetedNotifications", "UseCache", true);
     enforceCourtesy                = GetValueOrDefaultFromCacheableStorage("TargetedNotifications", "EnforceCourtesy", true);
     cacheTimeoutMs                 = GetValueOrDefaultFromCacheableStorage("TargetedNotifications", "CacheTimeoutMs", 750);
     serviceQueryLoopTimeSpan       = TimeSpan.FromMinutes(GetValueOrDefaultFromCacheableStorage("TargetedNotifications", "ServiceQueryLoopMinutes", 1440));
     liveStorageHandler             = initializer.LiveRemoteSettingsStorageHandlerFactory();
     remoteSettingsParser           = initializer.RemoteSettingsParser;
     remoteSettingsTelemetry        = initializer.Telemetry;
     targetedNotificationsTelemetry = initializer.TargetedNotificationsTelemetry;
     experimentationService         = initializer.ExperimentationService;
     telemetryNotificationService   = initializer.TelemetryNotificationService;
     notificationAndCourtesyCache   = new TargetedNotificationsCacheProvider(enforceCourtesy, this, initializer);
 }