1919#import " FirebaseABTesting/Sources/Private/FirebaseABTestingInternal.h"
2020#import " FirebaseCore/Extension/FirebaseCoreInternal.h"
2121#import " FirebaseRemoteConfig/Sources/Private/FIRRemoteConfig_Private.h"
22- #import " FirebaseRemoteConfig/Sources/Private/RCNConfigFetch.h"
2322#import " FirebaseRemoteConfig/Sources/RCNConfigConstants.h"
2423#import " FirebaseRemoteConfig/Sources/RCNConfigRealtime.h"
2524
@@ -145,7 +144,8 @@ - (instancetype)initWithAppName:(NSString *)appName
145144 DBManager : (RCNConfigDBManager *)DBManager
146145 configContent : (RCNConfigContent *)configContent
147146 userDefaults : (nullable NSUserDefaults *)userDefaults
148- analytics : (nullable id <FIRAnalyticsInterop>)analytics {
147+ analytics : (nullable id <FIRAnalyticsInterop>)analytics
148+ configFetch : (nullable RCNConfigFetch *)configFetch {
149149 self = [super init ];
150150 if (self) {
151151 _appName = appName;
@@ -169,14 +169,18 @@ - (instancetype)initWithAppName:(NSString *)appName
169169
170170 // Initialize with default config settings.
171171 [self setDefaultConfigSettings ];
172- _configFetch = [[RCNConfigFetch alloc ] initWithContent: _configContent
173- DBManager: _DBManager
174- settings: _settings
175- analytics: analytics
176- experiment: _configExperiment
177- queue: _queue
178- namespace: _FIRNamespace
179- options: options];
172+ if (configFetch) {
173+ _configFetch = configFetch;
174+ } else {
175+ _configFetch = [[RCNConfigFetch alloc ] initWithContent: _configContent
176+ DBManager: _DBManager
177+ settings: _settings
178+ analytics: analytics
179+ experiment: _configExperiment
180+ queue: _queue
181+ namespace: _FIRNamespace
182+ options: options];
183+ }
180184
181185 _configRealtime = [[RCNConfigRealtime alloc ] init: _configFetch
182186 settings: _settings
@@ -209,7 +213,8 @@ - (instancetype)initWithAppName:(NSString *)appName
209213 DBManager: DBManager
210214 configContent: configContent
211215 userDefaults: nil
212- analytics: analytics];
216+ analytics: analytics
217+ configFetch: nil ];
213218}
214219
215220// Initialize with default config settings.
@@ -356,16 +361,18 @@ - (void)setCustomSignals:(nonnull NSDictionary<NSString *, NSObject *> *)customS
356361
357362#pragma mark - fetch
358363
359- - (void )fetchWithCompletionHandler : (FIRRemoteConfigFetchCompletion)completionHandler {
364+ - (void )fetchWithCompletionHandler : (void (^_Nullable)(FIRRemoteConfigFetchStatus status,
365+ NSError *_Nullable error))completionHandler {
360366 dispatch_async (_queue, ^{
361367 [self fetchWithExpirationDuration: self ->_settings.minimumFetchInterval
362368 completionHandler: completionHandler];
363369 });
364370}
365371
366372- (void )fetchWithExpirationDuration : (NSTimeInterval )expirationDuration
367- completionHandler : (FIRRemoteConfigFetchCompletion)completionHandler {
368- FIRRemoteConfigFetchCompletion completionHandlerCopy = nil ;
373+ completionHandler : (void (^_Nullable)(FIRRemoteConfigFetchStatus status,
374+ NSError *_Nullable error))completionHandler {
375+ void (^completionHandlerCopy)(FIRRemoteConfigFetchStatus, NSError *_Nullable) = nil ;
369376 if (completionHandler) {
370377 completionHandlerCopy = [completionHandler copy ];
371378 }
0 commit comments