@@ -790,19 +790,39 @@ - (BOOL)lessThanIos10_2
790
790
}
791
791
}
792
792
793
+ + (NSSet *) getSupportedHandleTypes : (id ) handleType {
794
+ if (handleType){
795
+ if ([handleType isKindOfClass: [NSArray class ]]) {
796
+ NSSet *types = [NSSet set ];
797
+
798
+ for (NSString * type in handleType) {
799
+ types = [types setByAddingObject: [NSNumber numberWithInteger: [RNCallKeep getHandleType: type]]];
800
+ }
801
+
802
+ return types;
803
+ } else {
804
+ int _handleType = [RNCallKeep getHandleType: handleType];
805
+
806
+ return [NSSet setWithObjects: [NSNumber numberWithInteger: _handleType], nil ];
807
+ }
808
+ } else {
809
+ return [NSSet setWithObjects: [NSNumber numberWithInteger: CXHandleTypePhoneNumber], nil ];
810
+ }
811
+ }
812
+
793
813
+ (int )getHandleType : (NSString *)handleType
794
814
{
795
- int _handleType;
796
815
if ([handleType isEqualToString: @" generic" ]) {
797
- _handleType = CXHandleTypeGeneric;
816
+ return CXHandleTypeGeneric;
798
817
} else if ([handleType isEqualToString: @" number" ]) {
799
- _handleType = CXHandleTypePhoneNumber;
818
+ return CXHandleTypePhoneNumber;
819
+ } else if ([handleType isEqualToString: @" phone" ]) {
820
+ return CXHandleTypePhoneNumber;
800
821
} else if ([handleType isEqualToString: @" email" ]) {
801
- _handleType = CXHandleTypeEmailAddress;
822
+ return CXHandleTypeEmailAddress;
802
823
} else {
803
- _handleType = CXHandleTypeGeneric;
824
+ return CXHandleTypeGeneric;
804
825
}
805
- return _handleType;
806
826
}
807
827
808
828
+ (CXProviderConfiguration *)getProviderConfiguration : (NSDictionary *)settings
@@ -814,12 +834,8 @@ + (CXProviderConfiguration *)getProviderConfiguration:(NSDictionary*)settings
814
834
providerConfiguration.supportsVideo = YES ;
815
835
providerConfiguration.maximumCallGroups = 3 ;
816
836
providerConfiguration.maximumCallsPerCallGroup = 1 ;
817
- if (settings[@" handleType" ]){
818
- int _handleType = [RNCallKeep getHandleType: settings[@" handleType" ]];
819
- providerConfiguration.supportedHandleTypes = [NSSet setWithObjects: [NSNumber numberWithInteger: _handleType], nil ];
820
- }else {
821
- providerConfiguration.supportedHandleTypes = [NSSet setWithObjects: [NSNumber numberWithInteger: CXHandleTypePhoneNumber], nil ];
822
- }
837
+ providerConfiguration.supportedHandleTypes = [RNCallKeep getSupportedHandleTypes: settings[@" handleType" ]];
838
+
823
839
if (settings[@" supportsVideo" ]) {
824
840
providerConfiguration.supportsVideo = [settings[@" supportsVideo" ] boolValue ];
825
841
}
0 commit comments