diff --git a/MTBackupAddressSignals.h b/MTBackupAddressSignals.h index 2a000cf464..1e59c9363f 100644 --- a/MTBackupAddressSignals.h +++ b/MTBackupAddressSignals.h @@ -5,6 +5,6 @@ @interface MTBackupAddressSignals : NSObject -+ (MTSignal * _Nonnull)fetchBackupIps:(bool)isTestingEnvironment currentContext:(MTContext * _Nonnull)currentContext phoneNumber:(NSString * _Nullable)phoneNumber; ++ (MTSignal * _Nonnull)fetchBackupIps:(bool)isTestingEnvironment currentContext:(MTContext * _Nonnull)currentContext additionalSource:(MTSignal * _Nullable)additionalSource phoneNumber:(NSString * _Nullable)phoneNumber; @end diff --git a/MTBackupAddressSignals.m b/MTBackupAddressSignals.m index 666af2d690..64a58ce1d8 100644 --- a/MTBackupAddressSignals.m +++ b/MTBackupAddressSignals.m @@ -200,8 +200,13 @@ }]; } -+ (MTSignal * _Nonnull)fetchBackupIps:(bool)isTestingEnvironment currentContext:(MTContext * _Nonnull)currentContext phoneNumber:(NSString * _Nullable)phoneNumber { - NSArray *signals = @[[self fetchBackupIpsAzure:isTestingEnvironment phoneNumber:phoneNumber], [self fetchBackupIpsResolveGoogle:isTestingEnvironment phoneNumber:phoneNumber]]; ++ (MTSignal * _Nonnull)fetchBackupIps:(bool)isTestingEnvironment currentContext:(MTContext * _Nonnull)currentContext additionalSource:(MTSignal * _Nullable)additionalSource phoneNumber:(NSString * _Nullable)phoneNumber { + NSMutableArray *signals = [[NSMutableArray alloc] init]; + [signals addObject:[self fetchBackupIpsAzure:isTestingEnvironment phoneNumber:phoneNumber]]; + [signals addObject:[self fetchBackupIpsResolveGoogle:isTestingEnvironment phoneNumber:phoneNumber]]; + if (additionalSource != nil) { + [signals addObject:additionalSource]; + } return [[[MTSignal mergeSignals:signals] take:1] mapToSignal:^MTSignal *(MTBackupDatacenterData *data) { if (data != nil && data.addressList.count != 0) {