diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 5fb259515..9db52512c 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -25,29 +25,12 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); @implementation LinphoneCoreSettingsStore - -- (void)handleMigration { - NSUserDefaults *oldconfig=[NSUserDefaults standardUserDefaults]; - NSArray *allkeys=[[oldconfig dictionaryRepresentation] allKeys]; - for(NSString* key in allkeys){ - [LinphoneLogger log:LinphoneLoggerLog format:@"Migrating old config item %@ to in app settings.",key]; - [self setObject:[oldconfig objectForKey:key] forKey:key]; - } - [self synchronize]; - [LinphoneLogger logc:LinphoneLoggerLog format:"Migration done"]; -} - - (id)init { self = [super init]; if (self){ dict = [[NSMutableDictionary alloc] init]; changedDict = [[NSMutableDictionary alloc] init]; [self transformLinphoneCoreToKeys]; - LinphoneCore *lc=[LinphoneManager getLc]; - if (lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY,"config_migrated",0) == 0) { - [self handleMigration]; - lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY,"config_migrated",1); - } } return self; } @@ -125,6 +108,7 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); [self setObject:@"" forKey:@"username_preference"]; [self setObject:@"" forKey:@"domain_preference"]; [self setObject:@"" forKey:@"proxy_preference"]; + [self setObject:@"" forKey:@"password_preference"]; [self setBool:FALSE forKey:@"outbound_proxy_preference"]; } diff --git a/Classes/WizardViewController.m b/Classes/WizardViewController.m index 5edba3681..c17b7e0b9 100644 --- a/Classes/WizardViewController.m +++ b/Classes/WizardViewController.m @@ -181,6 +181,25 @@ static UICompositeViewDescription *compositeDescription = nil; - (void)reset { [self clearProxyConfig]; + [[LinphoneManager instance] lpConfigSetBool:FALSE forKey:@"pushnotification_preference"]; + + LinphoneCore *lc = [LinphoneManager getLc]; + LCSipTransports transportValue={0}; + if (linphone_core_get_sip_transports(lc, &transportValue)) { + [LinphoneLogger logc:LinphoneLoggerError format:"cannot get current transport"]; + } + transportValue.tls_port=0; + transportValue.tcp_port=0; + transportValue.udp_port=transportValue.tcp_port|transportValue.udp_port|transportValue.tls_port; + if (linphone_core_set_sip_transports(lc, &transportValue)) { + [LinphoneLogger logc:LinphoneLoggerError format:"cannot set transport"]; + } + + [[LinphoneManager instance] lpConfigSetString:@"" forKey:@"sharing_server_preference"]; + [[LinphoneManager instance] lpConfigSetBool:FALSE forKey:@"ice_preference"]; + [[LinphoneManager instance] lpConfigSetString:@"" forKey:@"stun_preference"]; + linphone_core_set_stun_server(lc, NULL); + linphone_core_set_firewall_policy(lc, LinphonePolicyNoFirewall); [WizardViewController cleanTextField:welcomeView]; [WizardViewController cleanTextField:choiceView]; [WizardViewController cleanTextField:createAccountView]; @@ -342,10 +361,13 @@ static UICompositeViewDescription *compositeDescription = nil; if([server compare:domain options:NSCaseInsensitiveSearch] != 0) { linphone_proxy_config_set_route(proxyCfg, [server UTF8String]); } - linphone_proxy_config_enable_register(proxyCfg, true); + int defaultExpire = [[LinphoneManager instance] lpConfigIntForKey:@"default_expires"]; + if (defaultExpire >= 0) + linphone_proxy_config_expires(proxyCfg, defaultExpire); if([domain compare:[[LinphoneManager instance] lpConfigStringForKey:@"domain" forSection:@"wizard"] options:NSCaseInsensitiveSearch] == 0) { [self setDefaultSettings:proxyCfg]; } + linphone_proxy_config_enable_register(proxyCfg, true); linphone_core_add_proxy_config([LinphoneManager getLc], proxyCfg); linphone_core_set_default_proxy([LinphoneManager getLc], proxyCfg); linphone_core_add_auth_info([LinphoneManager getLc], info);