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
+