diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 6db747a45..c575fbf7f 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -242,6 +242,9 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); [self setInteger:linphone_core_get_inc_timeout(lc) forKey:@"incoming_call_timeout_preference"]; [self setInteger:linphone_core_get_in_call_timeout(lc) forKey:@"in_call_timeout_preference"]; + + [self setBool:[lm lpConfigBoolForKey:@"repeat_call_notification"] + forKey:@"repeat_call_notification_preference"]; } // network section @@ -644,8 +647,9 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); linphone_core_set_use_info_for_dtmf(lc, [self boolForKey:@"sipinfo_dtmf_preference"]); linphone_core_set_inc_timeout(lc, [self integerForKey:@"incoming_call_timeout_preference"]); linphone_core_set_in_call_timeout(lc, [self integerForKey:@"in_call_timeout_preference"]); - [[LinphoneManager instance] lpConfigSetString:[self stringForKey:@"voice_mail_uri_preference"] - forKey:@"voice_mail_uri"]; + [lm lpConfigSetString:[self stringForKey:@"voice_mail_uri_preference"] forKey:@"voice_mail_uri"]; + [lm lpConfigSetBool:[self boolForKey:@"repeat_call_notification_preference"] + forKey:@"repeat_call_notification"]; } // network section diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index fd59f4de9..949bc6ec8 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -642,7 +642,8 @@ static void linphone_iphone_display_status(struct _LinphoneCore * lc, const char if (data->notification) { // iOS8 doesn't need the timer trick for the local notification. - if( [[UIDevice currentDevice].systemVersion floatValue] >= 8){ + if ([[UIDevice currentDevice].systemVersion floatValue] >= 8 && + [self lpConfigBoolForKey:@"repeat_call_notification"] == NO) { data->notification.soundName = @"ring.caf"; data->notification.category = @"incoming_call"; } else { diff --git a/Classes/SettingsViewController.m b/Classes/SettingsViewController.m index e7337a66d..100685d87 100644 --- a/Classes/SettingsViewController.m +++ b/Classes/SettingsViewController.m @@ -680,6 +680,10 @@ static UICompositeViewDescription *compositeDescription = nil; [hiddenKeys addObject:@"in_app_products_button"]; } + if ([[UIDevice currentDevice].systemVersion floatValue] < 8) { + [hiddenKeys addObject:@"repeat_call_notification_preference"]; + } + return hiddenKeys; } diff --git a/Settings/InAppSettings.bundle/Call.plist b/Settings/InAppSettings.bundle/Call.plist index ae0855c79..61ec80f69 100644 --- a/Settings/InAppSettings.bundle/Call.plist +++ b/Settings/InAppSettings.bundle/Call.plist @@ -106,6 +106,16 @@ IASKTextAlignment IASKUITextAlignmentRight + + DefaultValue + + Key + repeat_call_notification_preference + Title + Repeat call notification + Type + PSToggleSwitchSpecifier +