Skip to content

Commit 58a7f53

Browse files
ncooke3paulb777
authored andcommitted
[Config] Port 'RCNConfigFetch' (#14286)
1 parent d53a6d6 commit 58a7f53

20 files changed

+1181
-1145
lines changed

FirebaseRemoteConfig/Sources/FIRRemoteConfig.m

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
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
}

FirebaseRemoteConfig/Sources/Private/RCNConfigFetch.h

Lines changed: 0 additions & 71 deletions
This file was deleted.

FirebaseRemoteConfig/Sources/Public/FirebaseRemoteConfig/FIRRemoteConfig.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,16 @@
1616

1717
#import <Foundation/Foundation.h>
1818

19+
// TODO(ncooke3): Remove unneeded forward declarations after Swift migration.
20+
1921
@class FIRApp;
2022
@class FIRRemoteConfigUpdate;
2123
@class RCNConfigDBManager;
2224
@class RCNConfigContent;
2325
@class FIROptions;
2426
@class RCNConfigSettings;
2527
@class FIRRemoteConfigValue;
28+
@class RCNConfigFetch;
2629
@protocol FIRAnalyticsInterop;
2730

2831
@protocol FIRRolloutsStateSubscriber;
@@ -432,7 +435,8 @@ typedef void (^FIRRemoteConfigUpdateCompletion)(FIRRemoteConfigUpdate *_Nullable
432435
DBManager:(RCNConfigDBManager *)DBManager
433436
configContent:(RCNConfigContent *)configContent
434437
userDefaults:(nullable NSUserDefaults *)userDefaults
435-
analytics:(nullable id<FIRAnalyticsInterop>)analytics;
438+
analytics:(nullable id<FIRAnalyticsInterop>)analytics
439+
configFetch:(nullable RCNConfigFetch *)configFetch;
436440

437441
/// Register `FIRRolloutsStateSubscriber` to `FIRRemoteConfig` instance
438442
- (void)addRemoteConfigInteropSubscriber:(id<FIRRolloutsStateSubscriber> _Nonnull)subscriber;

0 commit comments

Comments
 (0)