diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 6985dbd50..0155cd205 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -201,7 +201,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); [self setString:val forKey:@"media_encryption_preference"]; } [self setString: lp_config_get_string(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "rotation_preference", "auto") forKey:@"rotation_preference"]; - [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", 0) forKey:@"enable_first_login_view_preference"]; + [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "edge_opt_preference", 1) forKey:@"edge_opt_preference"]; + [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", 0) forKey:@"enable_first_login_view_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "debugenable_preference", 0) forKey:@"debugenable_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "animations_preference", 1) forKey:@"animations_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "wifi_only_preference", 0) forKey:@"wifi_only_preference"]; @@ -575,11 +576,15 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); } else { isbackgroundModeEnabled = false; } + lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "backgroundmode_preference", isbackgroundModeEnabled); BOOL firstloginview = [self boolForKey:@"enable_first_login_view_preference"]; lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", firstloginview); + BOOL edgeOpt = [self boolForKey:@"edge_opt_preference"]; + lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "edge_opt_preference", edgeOpt); + NSString *landscape = [self stringForKey:@"rotation_preference"]; lp_config_set_string(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "rotation_preference", [landscape UTF8String]); diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 2ce0f87f7..c8270b4b6 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -1139,11 +1139,13 @@ static void audioRouteChangeListenerCallback ( - (void)acceptCall:(LinphoneCall *)call { LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters(theLinphoneCore); - bool low_bandwidth = self.network == network_2g; - if(low_bandwidth) { - [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"]; + if([self lpConfigBoolForKey:@"edge_opt_preference"]) { + bool low_bandwidth = self.network == network_2g; + if(low_bandwidth) { + [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"]; + } + linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth); } - linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth); linphone_core_accept_call_with_params(theLinphoneCore,call, lcallParams); } @@ -1178,11 +1180,13 @@ static void audioRouteChangeListenerCallback ( //get default proxy linphone_core_get_default_proxy(theLinphoneCore,&proxyCfg); LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters(theLinphoneCore); - bool low_bandwidth = self.network == network_2g; - if(low_bandwidth) { - [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"]; + if([self lpConfigBoolForKey:@"edge_opt_preference"]) { + bool low_bandwidth = self.network == network_2g; + if(low_bandwidth) { + [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"]; + } + linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth); } - linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth); LinphoneCall* call=NULL; if ([address length] == 0) return; //just return diff --git a/Resources/linphonerc b/Resources/linphonerc index 0b454af82..fa651da1c 100644 --- a/Resources/linphonerc +++ b/Resources/linphonerc @@ -24,6 +24,7 @@ firewall_policy=0 [app] rotation_preference=auto animations_preference=1 +edge_opt_preference=1 [default_values] reg_expires=600 \ No newline at end of file diff --git a/Resources/linphonerc~ipad b/Resources/linphonerc~ipad index adc25c51c..a009c43f7 100644 --- a/Resources/linphonerc~ipad +++ b/Resources/linphonerc~ipad @@ -24,6 +24,7 @@ firewall_policy=0 [app] rotation_preference=auto animations_preference=1 +edge_opt_preference=1 [default_values] reg_expires=600 \ No newline at end of file diff --git a/Settings/InAppSettings.bundle/Network.plist b/Settings/InAppSettings.bundle/Network.plist index 864b5acc3..cfac45da1 100644 --- a/Settings/InAppSettings.bundle/Network.plist +++ b/Settings/InAppSettings.bundle/Network.plist @@ -4,6 +4,16 @@ PreferenceSpecifiers + + DefaultValue + + Key + edge_opt_preference + Title + Edge optimization + Type + PSToggleSwitchSpecifier + DefaultValue diff --git a/Settings/InAppSettings.bundle/en.lproj/Network.strings b/Settings/InAppSettings.bundle/en.lproj/Network.strings index a2aa822d3..555c0b493 100644 --- a/Settings/InAppSettings.bundle/en.lproj/Network.strings +++ b/Settings/InAppSettings.bundle/en.lproj/Network.strings @@ -1,6 +1,9 @@ /* Wifi only */ "Wifi only" = "Wifi only"; +/* Edge optimization */ +"Edge optimization" = "Edge optimization"; + /* Stun Server */ "Stun Server" = "Stun Server"; diff --git a/Settings/InAppSettings.bundle/fr.lproj/Network.strings b/Settings/InAppSettings.bundle/fr.lproj/Network.strings index 105b01f75..51e9f6ef5 100644 --- a/Settings/InAppSettings.bundle/fr.lproj/Network.strings +++ b/Settings/InAppSettings.bundle/fr.lproj/Network.strings @@ -1,6 +1,9 @@ /* Wifi only */ "Wifi only" = "Uniquement Wifi"; +/* Edge optimization */ +"Edge optimization" = "Optimisation Edge"; + /* Stun Server */ "Stun Server" = "Serveur Stun"; diff --git a/linphone.ldb/Contents.plist b/linphone.ldb/Contents.plist index eb0b3d625..2dc564216 100644 --- a/linphone.ldb/Contents.plist +++ b/linphone.ldb/Contents.plist @@ -17452,7 +17452,7 @@ Raison: %2$s change date - 2012-11-13T09:28:24Z + 2012-12-03T14:20:32Z changed values class @@ -17462,7 +17462,7 @@ Raison: %2$s flags 0 hash - 7220a3af4b5567ce1842c8a01759b1c9 + 61504fb6dc1719749e72de751676a9cf name Network.strings @@ -17493,6 +17493,31 @@ Raison: %2$s snapshots + + change date + 2001-01-01T00:00:00Z + changed values + + class + BLStringKeyObject + comment + Edge optimization + errors + + flags + 0 + key + Edge optimization + localizations + + en + Edge optimization + fr + Optimisation Edge + + snapshots + + change date 2001-01-01T00:00:00Z diff --git a/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings b/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings index a2aa822d3..555c0b493 100644 --- a/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings +++ b/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings @@ -1,6 +1,9 @@ /* Wifi only */ "Wifi only" = "Wifi only"; +/* Edge optimization */ +"Edge optimization" = "Edge optimization"; + /* Stun Server */ "Stun Server" = "Stun Server";