mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-02-07 14:18:25 +00:00
Clean up
This commit is contained in:
parent
d4a7f9885f
commit
9b92d063c0
6 changed files with 296 additions and 12 deletions
|
|
@ -240,7 +240,7 @@
|
|||
// no pending call, call adapter
|
||||
NSString* s = [NSString stringWithFormat:@"sip:100000001@%@", [[NSUserDefaults standardUserDefaults] stringForKey:@"adapter_ip_preference"]];
|
||||
const char* adapter = [s cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
ms_message("Calling ADAPTER '%s'", adapter);
|
||||
[LinphoneLogger logc:LinphoneLoggerLog format:"Calling ADAPTER '%s'", adapter];
|
||||
LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters([LinphoneManager getLc]);
|
||||
linphone_call_params_enable_video(lcallParams, true);
|
||||
LinphoneCall* lc = linphone_core_invite_with_params([LinphoneManager getLc], adapter,lcallParams);
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
#import "BuschJaegerConfigParser.h"
|
||||
#import "Utils.h"
|
||||
|
||||
@implementation BuschJaegerConfigParser
|
||||
|
||||
|
|
@ -121,7 +122,7 @@
|
|||
} else if((param = [BuschJaegerConfigParser getRegexValue:@"^surveillance=(.*)$" data:entry]) != nil) {
|
||||
os.surveillance = [param compare:@"yes" options:NSCaseInsensitiveSearch] || [param compare:@"true" options:NSCaseInsensitiveSearch];
|
||||
} else if([[entry stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] != 0){
|
||||
NSLog(@"Unknown entry in outdoorstation_%d section: %@", ID, entry);
|
||||
[LinphoneLogger log:LinphoneLoggerWarning format:@"Unknown entry in outdoorstation_%d section: %@", ID, entry];
|
||||
}
|
||||
}
|
||||
[outdoorStations addObject:os];
|
||||
|
|
@ -132,12 +133,12 @@
|
|||
if((param = [BuschJaegerConfigParser getRegexValue:@"^\\[outdoorstation_([\\d]+)\\]$" data:section]) != nil) {
|
||||
[self parseOutdoorStation:[param intValue] array:array];
|
||||
} else {
|
||||
NSLog(@"Unknown section: %@", section);
|
||||
[LinphoneLogger log:LinphoneLoggerWarning format:@"Unknown section: %@", section];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)parseConfig:(NSString*)data delegate:(id<BuschJaegerConfigParser>)delegate {
|
||||
NSLog(@"%@", data);
|
||||
[LinphoneLogger log:LinphoneLoggerDebug format:@"%@", data];
|
||||
NSArray *arr = [data componentsSeparatedByString:@"\n"];
|
||||
NSString *last_section = nil;
|
||||
int last_index = -1;
|
||||
|
|
|
|||
|
|
@ -87,10 +87,10 @@
|
|||
if(zbs != nil) {
|
||||
BOOL handled = FALSE;
|
||||
for(ZBarSymbol *symbol in zbs) {
|
||||
/*if([[[LinphoneManager instance] configuration] parseQRCode:[symbol data] delegate:self]) {
|
||||
if([[[LinphoneManager instance] configuration] parseQRCode:[symbol data] delegate:self]) {
|
||||
handled = TRUE;
|
||||
[waitView setHidden:FALSE];
|
||||
}*/
|
||||
}
|
||||
}
|
||||
if(handled) {
|
||||
[self dismissModalViewControllerAnimated:TRUE];
|
||||
|
|
|
|||
|
|
@ -154,10 +154,11 @@ int __aeabi_idiv(int a, int b) {
|
|||
}
|
||||
}
|
||||
|
||||
/* MODIFICATION: Add default settings */
|
||||
- (void) loadDefaultSettings {
|
||||
NSString *settingsBundle = [[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"bundle"];
|
||||
if(!settingsBundle) {
|
||||
NSLog(@"Could not find Settings.bundle");
|
||||
[LinphoneLogger log:LinphoneLoggerError format:@"Could not find Settings.bundle"];
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -187,8 +188,12 @@ int __aeabi_idiv(int a, int b) {
|
|||
|
||||
}
|
||||
|
||||
/**/
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
/* MODIFICATION: Add default settings */
|
||||
[self loadDefaultSettings];
|
||||
/**/
|
||||
|
||||
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound];
|
||||
|
||||
|
|
@ -216,8 +221,11 @@ int __aeabi_idiv(int a, int b) {
|
|||
// Only execute one time at application start
|
||||
if(!started) {
|
||||
started = TRUE;
|
||||
/* MODIFICATION: Change Main View
|
||||
[[PhoneMainView instance] startUp];
|
||||
*/
|
||||
[window setRootViewController:[[[BuschJaegerMainView alloc] initWithNibName:@"BuschJaegerMainView" bundle:[NSBundle mainBundle]] autorelease]];
|
||||
//[[PhoneMainView instance] startUp];
|
||||
/**/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -230,7 +238,7 @@ int __aeabi_idiv(int a, int b) {
|
|||
[self startApplication];
|
||||
if([LinphoneManager isLcReady]) {
|
||||
if([[url scheme] isEqualToString:@"sip"]) {
|
||||
/*
|
||||
/* MODIFICATION: Remove URL handling
|
||||
// Go to ChatRoom view
|
||||
DialerViewController *controller = DYNAMIC_CAST([[PhoneMainView instance] changeCurrentView:[DialerViewController compositeViewDescription]], DialerViewController);
|
||||
if(controller != nil) {
|
||||
|
|
@ -251,7 +259,7 @@ int __aeabi_idiv(int a, int b) {
|
|||
NSString *loc_key = [alert objectForKey:@"loc-key"];
|
||||
if(loc_key != nil) {
|
||||
if([loc_key isEqualToString:@"IM_MSG"]) {
|
||||
/*
|
||||
/* MODIFICATION: Remove remote notification
|
||||
[[LinphoneManager instance] addInhibitedEvent:kLinphoneTextReceivedSound];
|
||||
[[PhoneMainView instance] changeCurrentView:[ChatViewController compositeViewDescription]];
|
||||
*/
|
||||
|
|
@ -271,7 +279,7 @@ int __aeabi_idiv(int a, int b) {
|
|||
}
|
||||
linphone_core_accept_call([LinphoneManager getLc], call);
|
||||
} else if([notification.userInfo objectForKey:@"chat"] != nil) {
|
||||
/*
|
||||
/* MODIFICATION: Remove chat local notificaiton
|
||||
NSString *remoteContact = (NSString*)[notification.userInfo objectForKey:@"chat"];
|
||||
// Go to ChatRoom view
|
||||
ChatRoomViewController *controller = DYNAMIC_CAST([[PhoneMainView instance] changeCurrentView:[ChatRoomViewController compositeViewDescription] push:TRUE], ChatRoomViewController);
|
||||
|
|
|
|||
|
|
@ -26,8 +26,9 @@
|
|||
#import "LogView.h"
|
||||
#import "FastAddressBook.h"
|
||||
#import "Utils.h"
|
||||
/* MODIFICATION: Add buschjaeger configuration */
|
||||
#import "BuschJaegerConfigParser.h"
|
||||
|
||||
/**/
|
||||
#include "linphonecore.h"
|
||||
|
||||
extern NSString *const kLinphoneTextReceived;
|
||||
|
|
@ -84,6 +85,12 @@ typedef struct _LinphoneManagerSounds {
|
|||
NSMutableArray *inhibitedEvent;
|
||||
sqlite3 *database;
|
||||
|
||||
/* MODIFICATION: Add buschjaeger configuration */
|
||||
BuschJaegerConfigParser *configuration;
|
||||
/**/
|
||||
/* MODIFICATIOn: add NSUSerDefault settings */
|
||||
NSDictionary *currentSettings;
|
||||
|
||||
@public
|
||||
CallContext currentCallContextBeforeGoingBackground;
|
||||
}
|
||||
|
|
@ -124,6 +131,7 @@ typedef struct _LinphoneManagerSounds {
|
|||
@property (readonly) const char* frontCamId;
|
||||
@property (readonly) const char* backCamId;
|
||||
@property (readonly) sqlite3* database;
|
||||
@property (readonly) BuschJaegerConfigParser *configuration;
|
||||
@property (nonatomic, retain) NSData *pushNotificationToken;
|
||||
@property (readonly) LinphoneManagerSounds sounds;
|
||||
|
||||
|
|
|
|||
|
|
@ -69,6 +69,9 @@ extern void libmsbcg729_init();
|
|||
@synthesize frontCamId;
|
||||
@synthesize backCamId;
|
||||
@synthesize defaultExpires;
|
||||
/* MODIFICATION: Add buschjaeger configuration */
|
||||
@synthesize configuration;
|
||||
/**/
|
||||
@synthesize database;
|
||||
@synthesize fastAddressBook;
|
||||
@synthesize pushNotificationToken;
|
||||
|
|
@ -195,6 +198,10 @@ struct codec_name_pref_table codec_pref_table[]={
|
|||
database = NULL;
|
||||
self.defaultExpires = 600;
|
||||
[self openDatabase];
|
||||
|
||||
/* MODIFICATION: Add buschjaeger configuration */
|
||||
configuration = [[BuschJaegerConfigParser alloc] init];
|
||||
/**/
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -210,6 +217,12 @@ struct codec_name_pref_table codec_pref_table[]={
|
|||
[inhibitedEvent release];
|
||||
[fastAddressBook release];
|
||||
[self closeDatabase];
|
||||
/* MODIFICATION: Add buschjaeger configuration */
|
||||
[configuration release];
|
||||
/**/
|
||||
/* MODIFICATION: Add NSSUerdefault settings */
|
||||
[currentSettings release];
|
||||
/**/
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
|
@ -905,4 +918,258 @@ static LinphoneCoreVTable linphonec_vtable = {
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/* MODIFICATION: Add settings using NSUserDefaults*/
|
||||
|
||||
- (void)configurePayloadType:(const char*) type fromPrefKey: (NSString*)key withRate:(int)rate {
|
||||
if ([[NSUserDefaults standardUserDefaults] boolForKey:key]) {
|
||||
PayloadType* pt;
|
||||
if((pt = linphone_core_find_payload_type(theLinphoneCore,type,rate))) {
|
||||
linphone_core_enable_payload_type(theLinphoneCore,pt, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (BOOL)reconfigureLinphoneIfNeeded:(NSDictionary *)settings {
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
NSDictionary* newSettings = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
|
||||
if (settings != nil) {
|
||||
/* reconfigure only if newSettings != settings */
|
||||
if ([newSettings isEqualToDictionary:settings]) {
|
||||
[LinphoneLogger logc:LinphoneLoggerLog format:"Same settings: no need to reconfigure linphone"];
|
||||
return NO;
|
||||
}
|
||||
}
|
||||
NSLog(@"Configuring Linphone (new settings)");
|
||||
|
||||
|
||||
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"debugenable_preference"]) {
|
||||
//redirect all traces to the iphone log framework
|
||||
linphone_core_enable_logs_with_cb((OrtpLogFunc)linphone_iphone_log_handler);
|
||||
}
|
||||
else {
|
||||
linphone_core_disable_logs();
|
||||
}
|
||||
|
||||
NSBundle* myBundle = [NSBundle mainBundle];
|
||||
|
||||
/* unregister before modifying any settings */
|
||||
{
|
||||
LinphoneProxyConfig* proxyCfg;
|
||||
linphone_core_get_default_proxy(theLinphoneCore, &proxyCfg);
|
||||
|
||||
if (proxyCfg) {
|
||||
// this will force unregister WITHOUT destorying the proxyCfg object
|
||||
linphone_proxy_config_edit(proxyCfg);
|
||||
|
||||
int i=0;
|
||||
while (linphone_proxy_config_get_state(proxyCfg)!=LinphoneRegistrationNone &&
|
||||
linphone_proxy_config_get_state(proxyCfg)!=LinphoneRegistrationCleared &&
|
||||
linphone_proxy_config_get_state(proxyCfg)!=LinphoneRegistrationFailed &&
|
||||
i++<40 ) {
|
||||
linphone_core_iterate(theLinphoneCore);
|
||||
usleep(100000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const char* lRootCa = [[myBundle pathForResource:@"rootca"ofType:@"pem"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
linphone_core_set_root_ca(theLinphoneCore, lRootCa);
|
||||
|
||||
NSString* transport = [[NSUserDefaults standardUserDefaults] stringForKey:@"transport_preference"];
|
||||
|
||||
LCSipTransports transportValue;
|
||||
if (transport!=nil) {
|
||||
if (linphone_core_get_sip_transports(theLinphoneCore, &transportValue)) {
|
||||
[LinphoneLogger logc:LinphoneLoggerError format:"cannot get current transport"];
|
||||
}
|
||||
// Only one port can be set at one time, the others's value is 0
|
||||
if ([transport isEqualToString:@"tcp"]) {
|
||||
if (transportValue.tcp_port == 0) transportValue.tcp_port=transportValue.udp_port + transportValue.tls_port;
|
||||
transportValue.udp_port=0;
|
||||
transportValue.tls_port=0;
|
||||
} else if ([transport isEqualToString:@"udp"]){
|
||||
if (transportValue.udp_port == 0) transportValue.udp_port=transportValue.tcp_port + transportValue.tls_port;
|
||||
transportValue.tcp_port=0;
|
||||
transportValue.tls_port=0;
|
||||
} else if ([transport isEqualToString:@"tls"]){
|
||||
if (transportValue.tls_port == 0) transportValue.tls_port=transportValue.udp_port + transportValue.tcp_port;
|
||||
transportValue.tcp_port=0;
|
||||
transportValue.udp_port=0;
|
||||
} else {
|
||||
[LinphoneLogger log:LinphoneLoggerError format:@"unexpected transport [%@]", transport];
|
||||
}
|
||||
if (linphone_core_set_sip_transports(theLinphoneCore, &transportValue)) {
|
||||
[LinphoneLogger logc:LinphoneLoggerError format:"cannot set transport"];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Set audio assets
|
||||
const char* lRing = [[myBundle pathForResource:@"01"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
linphone_core_set_ring(theLinphoneCore, lRing );
|
||||
const char* lRingBack = [[myBundle pathForResource:@"01"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
linphone_core_set_ringback(theLinphoneCore, lRingBack);
|
||||
|
||||
|
||||
|
||||
//configure sip account
|
||||
|
||||
//madatory parameters
|
||||
|
||||
NSString* username = [[NSUserDefaults standardUserDefaults] stringForKey:@"username_preference"];
|
||||
NSString* domain = [[NSUserDefaults standardUserDefaults] stringForKey:@"domain_preference"];
|
||||
NSString* accountPassword = [[NSUserDefaults standardUserDefaults] stringForKey:@"password_preference"];
|
||||
bool configCheckDisable = [[NSUserDefaults standardUserDefaults] boolForKey:@"check_config_disable_preference"];
|
||||
bool isOutboundProxy= [[NSUserDefaults standardUserDefaults] boolForKey:@"outbound_proxy_preference"];
|
||||
|
||||
|
||||
//clear auth info list
|
||||
linphone_core_clear_all_auth_info(theLinphoneCore);
|
||||
//clear existing proxy config
|
||||
linphone_core_clear_proxy_config(theLinphoneCore);
|
||||
if (username && [username length] >0 && domain && [domain length]>0) {
|
||||
const char* identity = [[NSString stringWithFormat:@"sip:%@@%@",username,domain] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
const char* password = [accountPassword cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
|
||||
NSString* proxyAddress = [[NSUserDefaults standardUserDefaults] stringForKey:@"proxy_preference"];
|
||||
if ((!proxyAddress || [proxyAddress length] <1 ) && domain) {
|
||||
proxyAddress = [NSString stringWithFormat:@"sip:%@",domain] ;
|
||||
} else {
|
||||
proxyAddress = [NSString stringWithFormat:@"sip:%@",proxyAddress] ;
|
||||
}
|
||||
|
||||
const char* proxy = [proxyAddress cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
|
||||
NSString* prefix = [[NSUserDefaults standardUserDefaults] stringForKey:@"prefix_preference"];
|
||||
bool substitute_plus_by_00 = [[NSUserDefaults standardUserDefaults] boolForKey:@"substitute_+_by_00_preference"];
|
||||
//possible valid config detected
|
||||
LinphoneProxyConfig* proxyCfg;
|
||||
proxyCfg = linphone_proxy_config_new();
|
||||
|
||||
// add username password
|
||||
LinphoneAddress *from = linphone_address_new(identity);
|
||||
LinphoneAuthInfo *info;
|
||||
if (from !=0){
|
||||
info=linphone_auth_info_new(linphone_address_get_username(from),NULL,password,NULL,NULL);
|
||||
linphone_core_add_auth_info(theLinphoneCore,info);
|
||||
}
|
||||
linphone_address_destroy(from);
|
||||
|
||||
// configure proxy entries
|
||||
linphone_proxy_config_set_identity(proxyCfg,identity);
|
||||
linphone_proxy_config_set_server_addr(proxyCfg,proxy);
|
||||
linphone_proxy_config_enable_register(proxyCfg,true);
|
||||
linphone_proxy_config_expires(proxyCfg, 600);
|
||||
|
||||
if (isOutboundProxy)
|
||||
linphone_proxy_config_set_route(proxyCfg,proxy);
|
||||
|
||||
if ([prefix length]>0) {
|
||||
linphone_proxy_config_set_dial_prefix(proxyCfg, [prefix cStringUsingEncoding:[NSString defaultCStringEncoding]]);
|
||||
}
|
||||
linphone_proxy_config_set_dial_escape_plus(proxyCfg,substitute_plus_by_00);
|
||||
|
||||
linphone_core_add_proxy_config(theLinphoneCore,proxyCfg);
|
||||
//set to default proxy
|
||||
linphone_core_set_default_proxy(theLinphoneCore,proxyCfg);
|
||||
|
||||
} else {
|
||||
if (configCheckDisable == false ) {
|
||||
UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Warning",nil)
|
||||
message:NSLocalizedString(@"It seems you have not configured any proxy server from settings",nil)
|
||||
delegate:self
|
||||
cancelButtonTitle:NSLocalizedString(@"Continue",nil)
|
||||
otherButtonTitles:NSLocalizedString(@"Never remind",nil),nil];
|
||||
[error show];
|
||||
[error release];
|
||||
}
|
||||
}
|
||||
|
||||
//Configure Codecs
|
||||
|
||||
PayloadType *pt;
|
||||
//get codecs from linphonerc
|
||||
const MSList *audioCodecs=linphone_core_get_audio_codecs(theLinphoneCore);
|
||||
const MSList *elem;
|
||||
//disable all codecs
|
||||
for (elem=audioCodecs;elem!=NULL;elem=elem->next){
|
||||
pt=(PayloadType*)elem->data;
|
||||
linphone_core_enable_payload_type(theLinphoneCore,pt,FALSE);
|
||||
}
|
||||
|
||||
//read codecs from setting bundle and enable them one by one
|
||||
if ([LinphoneManager isNotIphone3G]) {
|
||||
[self configurePayloadType:"SILK" fromPrefKey:@"silk_24k_preference" withRate:24000];
|
||||
}
|
||||
else {
|
||||
[LinphoneLogger logc:LinphoneLoggerLog format:"SILK 24khz codec deactivated"];
|
||||
}
|
||||
[self configurePayloadType:"speex" fromPrefKey:@"speex_16k_preference" withRate:16000];
|
||||
[self configurePayloadType:"speex" fromPrefKey:@"speex_8k_preference" withRate:8000];
|
||||
[self configurePayloadType:"SILK" fromPrefKey:@"silk_16k_preference" withRate:16000];
|
||||
[self configurePayloadType:"AMR" fromPrefKey:@"amr_8k_preference" withRate:8000];
|
||||
[self configurePayloadType:"GSM" fromPrefKey:@"gsm_8k_preference" withRate:8000];
|
||||
[self configurePayloadType:"iLBC" fromPrefKey:@"ilbc_preference" withRate:8000];
|
||||
[self configurePayloadType:"PCMU" fromPrefKey:@"pcmu_preference" withRate:8000];
|
||||
[self configurePayloadType:"PCMA" fromPrefKey:@"pcma_preference" withRate:8000];
|
||||
[self configurePayloadType:"G722" fromPrefKey:@"g722_preference" withRate:8000];
|
||||
[self configurePayloadType:"G729" fromPrefKey:@"g729_preference" withRate:8000];
|
||||
|
||||
//get video codecs from linphonerc
|
||||
const MSList *videoCodecs=linphone_core_get_video_codecs(theLinphoneCore);
|
||||
//disable video all codecs
|
||||
for (elem=videoCodecs;elem!=NULL;elem=elem->next){
|
||||
pt=(PayloadType*)elem->data;
|
||||
linphone_core_enable_payload_type(theLinphoneCore,pt,FALSE);
|
||||
}
|
||||
[self configurePayloadType:"MP4V-ES" fromPrefKey:@"mp4v-es_preference" withRate:90000];
|
||||
[self configurePayloadType:"H264" fromPrefKey:@"h264_preference" withRate:90000];
|
||||
[self configurePayloadType:"VP8" fromPrefKey:@"vp8_preference" withRate:90000];
|
||||
|
||||
if ([LinphoneManager isNotIphone3G]) {
|
||||
bool enableVideo = [[NSUserDefaults standardUserDefaults] boolForKey:@"enable_video_preference"];
|
||||
linphone_core_enable_video(theLinphoneCore, enableVideo, enableVideo);
|
||||
} else {
|
||||
linphone_core_enable_video(theLinphoneCore, FALSE, FALSE);
|
||||
[LinphoneLogger logc:LinphoneLoggerWarning format:"Disable video for phones prior to iPhone 3GS"];
|
||||
}
|
||||
bool enableSrtp = [[NSUserDefaults standardUserDefaults] boolForKey:@"enable_srtp_preference"];
|
||||
linphone_core_set_media_encryption(theLinphoneCore, enableSrtp?LinphoneMediaEncryptionSRTP:LinphoneMediaEncryptionZRTP);
|
||||
|
||||
NSString* stun_server = [[NSUserDefaults standardUserDefaults] stringForKey:@"stun_preference"];
|
||||
if ([stun_server length]>0){
|
||||
linphone_core_set_stun_server(theLinphoneCore,[stun_server cStringUsingEncoding:[NSString defaultCStringEncoding]]);
|
||||
linphone_core_set_firewall_policy(theLinphoneCore, LinphonePolicyUseStun);
|
||||
}else{
|
||||
linphone_core_set_stun_server(theLinphoneCore, NULL);
|
||||
linphone_core_set_firewall_policy(theLinphoneCore, LinphonePolicyNoFirewall);
|
||||
}
|
||||
|
||||
LinphoneVideoPolicy policy;
|
||||
policy.automatically_accept = [[NSUserDefaults standardUserDefaults] boolForKey:@"start_video_preference"];;
|
||||
policy.automatically_initiate = [[NSUserDefaults standardUserDefaults] boolForKey:@"start_video_preference"];
|
||||
linphone_core_set_video_policy(theLinphoneCore, &policy);
|
||||
|
||||
UIDevice* device = [UIDevice currentDevice];
|
||||
bool backgroundSupported = false;
|
||||
if ([device respondsToSelector:@selector(isMultitaskingSupported)])
|
||||
backgroundSupported = [device isMultitaskingSupported];
|
||||
|
||||
if (backgroundSupported) {
|
||||
isbackgroundModeEnabled = [[NSUserDefaults standardUserDefaults] boolForKey:@"backgroundmode_preference"];
|
||||
} else {
|
||||
isbackgroundModeEnabled=false;
|
||||
}
|
||||
|
||||
[currentSettings release];
|
||||
currentSettings = newSettings;
|
||||
[currentSettings retain];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue