Move the send logs button to the advanced menu and use only one preference to trigger it (debugenable_preference)

This commit is contained in:
Guillaume BIENKOWSKI 2014-12-17 12:13:47 +01:00
parent 795bc1a0c4
commit 7ff6008db1
6 changed files with 64 additions and 81 deletions

View file

@ -689,13 +689,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
BOOL debugmode = [self boolForKey:@"debugenable_preference"];
lp_config_set_int(config, LINPHONERC_APPLICATION_KEY, "debugenable_preference", debugmode);
if (debugmode) {
linphone_core_enable_logs_with_cb((OrtpLogFunc)linphone_iphone_log_handler);
ortp_set_log_level_mask(ORTP_DEBUG|ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL);
} else {
linphone_core_disable_logs();
}
[[LinphoneManager instance] setLogsEnabled:debugmode];
BOOL animations = [self boolForKey:@"animations_preference"];
lp_config_set_int(config, LINPHONERC_APPLICATION_KEY, "animations_preference", animations);

View file

@ -152,6 +152,7 @@ typedef struct _LinphoneManagerSounds {
- (bool)allowSpeaker;
- (void)configureVbrCodecs;
- (void)setLogsEnabled:(BOOL)enabled;
+ (BOOL)copyFile:(NSString*)src destination:(NSString*)dst override:(BOOL)override;
+ (NSString*)bundleFile:(NSString*)file;

View file

@ -1434,11 +1434,11 @@ static BOOL libStarted = FALSE;
if ([self lpConfigBoolForKey:@"debugenable_preference"]) {
linphone_core_enable_logs_with_cb((OrtpLogFunc)linphone_iphone_log_handler);
ortp_set_log_level_mask(ORTP_DEBUG|ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL);
/*must be done before creating linphone core to get its traces too*/
}
/*must be done before creating linphone core to get its traces too*/
linphone_core_set_log_collection_path([[LinphoneManager cacheDirectory] UTF8String]);
linphone_core_enable_log_collection([self lpConfigBoolForKey:@"enable_log_collect"]);
linphone_core_enable_log_collection([self lpConfigBoolForKey:@"debugenable_preference"]);
theLinphoneCore = linphone_core_new_with_config (&linphonec_vtable
,configDb
@ -2062,6 +2062,17 @@ static void audioRouteChangeListenerCallback (
}
}
-(void)setLogsEnabled:(BOOL)enabled {
if (enabled) {
linphone_core_enable_logs_with_cb((OrtpLogFunc)linphone_iphone_log_handler);
ortp_set_log_level_mask(ORTP_DEBUG|ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL);
linphone_core_enable_log_collection(enabled);
} else {
linphone_core_enable_log_collection(enabled);
linphone_core_disable_logs();
}
}
+(id)getMessageAppDataForKey:(NSString*)key inMessage:(LinphoneChatMessage*)msg {
if(msg == nil ) return nil;

View file

@ -495,72 +495,48 @@ static UICompositeViewDescription *compositeDescription = nil;
#pragma mark - Event Functions
- (void)appSettingChanged:(NSNotification*) notif {
if([@"enable_video_preference" compare: notif.object] == NSOrderedSame) {
BOOL enable = [[notif.userInfo objectForKey:@"enable_video_preference"] boolValue];
NSMutableSet *hiddenKeys = [NSMutableSet setWithSet:[settingsController hiddenKeys]];
if(!enable) {
[hiddenKeys addObject:@"video_menu"];
} else {
[hiddenKeys removeObject:@"video_menu"];
}
[settingsController setHiddenKeys:hiddenKeys animated:TRUE];
} else if ([@"random_port_preference" compare: notif.object] == NSOrderedSame) {
BOOL enable = [[notif.userInfo objectForKey:@"random_port_preference"] boolValue];
NSMutableSet *hiddenKeys = [NSMutableSet setWithSet:[settingsController hiddenKeys]];
if(enable) {
[hiddenKeys addObject:@"port_preference"];
} else {
[hiddenKeys removeObject:@"port_preference"];
}
[settingsController setHiddenKeys:hiddenKeys animated:TRUE];
} else if ([@"backgroundmode_preference" compare: notif.object] == NSOrderedSame) {
BOOL enable = [[notif.userInfo objectForKey:@"backgroundmode_preference"] boolValue];
NSMutableSet *hiddenKeys = [NSMutableSet setWithSet:[settingsController hiddenKeys]];
if(!enable) {
[hiddenKeys addObject:@"start_at_boot_preference"];
} else {
[hiddenKeys removeObject:@"start_at_boot_preference"];
}
[settingsController setHiddenKeys:hiddenKeys animated:TRUE];
} else if ([@"stun_preference" compare: notif.object] == NSOrderedSame) {
NSMutableSet *hiddenKeys = [NSMutableSet setWithSet:[settingsController hiddenKeys]];
NSString *stun_server = [notif.userInfo objectForKey:@"stun_preference"];
if (stun_server && ([stun_server length] > 0)) {
[hiddenKeys removeObject:@"ice_preference"];
} else {
[hiddenKeys addObject:@"ice_preference"];
}
[settingsController setHiddenKeys:hiddenKeys animated:TRUE];
} else if ([@"debugenable_preference" compare: notif.object] == NSOrderedSame) {
NSMutableSet *hiddenKeys = [NSMutableSet setWithSet:[settingsController hiddenKeys]];
BOOL debugEnable = [[notif.userInfo objectForKey:@"debugenable_preference"] boolValue];
if (debugEnable) {
[hiddenKeys removeObject:@"console_button"];
} else {
[hiddenKeys addObject:@"console_button"];
}
[settingsController setHiddenKeys:hiddenKeys animated:TRUE];
} else if( [@"advanced_account_preference" compare:notif.object] == NSOrderedSame) {
BOOL advanced = [[notif.userInfo objectForKey:@"advanced_account_preference"] boolValue];
NSMutableSet *hiddenKeys = [NSMutableSet setWithSet:[settingsController hiddenKeys]];
NSMutableSet *hiddenKeys = [NSMutableSet setWithSet:[settingsController hiddenKeys]];
NSMutableArray* keys = [NSMutableArray array];
BOOL removeFromHiddenKeys = TRUE;
if([@"enable_video_preference" compare: notif.object] == NSOrderedSame) {
removeFromHiddenKeys = [[notif.userInfo objectForKey:@"enable_video_preference"] boolValue];
[keys addObject:@"video_menu"];
} else if ([@"random_port_preference" compare: notif.object] == NSOrderedSame) {
removeFromHiddenKeys = ! [[notif.userInfo objectForKey:@"random_port_preference"] boolValue];
[keys addObject:@"port_preference"];
} else if ([@"backgroundmode_preference" compare: notif.object] == NSOrderedSame) {
removeFromHiddenKeys = [[notif.userInfo objectForKey:@"backgroundmode_preference"] boolValue];
[keys addObject:@"start_at_boot_preference"];
} else if ([@"stun_preference" compare: notif.object] == NSOrderedSame) {
NSString *stun_server = [notif.userInfo objectForKey:@"stun_preference"];
removeFromHiddenKeys = (stun_server && ([stun_server length] > 0));
[keys addObject:@"ice_preference"];
} else if ([@"debugenable_preference" compare: notif.object] == NSOrderedSame) {
BOOL debugEnabled = [[notif.userInfo objectForKey:@"debugenable_preference"] boolValue];
removeFromHiddenKeys = debugEnabled;
[keys addObject:@"send_logs_button"];
[[LinphoneManager instance] setLogsEnabled:debugEnabled];
} else if( [@"advanced_account_preference" compare:notif.object] == NSOrderedSame) {
removeFromHiddenKeys = [[notif.userInfo objectForKey:@"advanced_account_preference"] boolValue];
[keys addObject:@"userid_preference"];
[keys addObject:@"proxy_preference"];
[keys addObject:@"outbound_proxy_preference"];
[keys addObject:@"avpf_preference"];
}
for(NSString* key in keys){
if( removeFromHiddenKeys ) [hiddenKeys removeObject:key];
else [hiddenKeys addObject:key];
}
[settingsController setHiddenKeys:hiddenKeys animated:TRUE];
if( advanced ){
[hiddenKeys removeObject:@"userid_preference"];
[hiddenKeys removeObject:@"proxy_preference"];
[hiddenKeys removeObject:@"outbound_proxy_preference"];
[hiddenKeys removeObject:@"avpf_preference"];
} else {
[hiddenKeys addObject:@"userid_preference"];
[hiddenKeys addObject:@"proxy_preference"];
[hiddenKeys addObject:@"outbound_proxy_preference"];
[hiddenKeys addObject:@"avpf_preference"];
}
[settingsController setHiddenKeys:hiddenKeys animated:TRUE];
}
}
#pragma mark -
#pragma mark -
+ (IASKSpecifier*)disableCodecSpecifier:(IASKSpecifier *)specifier {
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:[specifier specifierDict]];
@ -637,7 +613,7 @@ static UICompositeViewDescription *compositeDescription = nil;
[hiddenKeys addObject:@"battery_alert_button"];
#endif
if (! [[LinphoneManager instance] lpConfigBoolForKey:@"enable_log_collect"]) {
if (! [[LinphoneManager instance] lpConfigBoolForKey:@"debugenable_preference"]) {
[hiddenKeys addObject:@"send_logs_button"];
}

View file

@ -20,6 +20,14 @@
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
</dict>
<dict>
<key>Key</key>
<string>send_logs_button</string>
<key>Title</key>
<string>Send Logs</string>
<key>Type</key>
<string>IASKButtonSpecifier</string>
</dict>
<dict>
<key>Title</key>
<string></string>

View file

@ -280,14 +280,6 @@
<key>Type</key>
<string>IASKButtonSpecifier</string>
</dict>
<dict>
<key>Key</key>
<string>send_logs_button</string>
<key>Title</key>
<string>Send debug logs</string>
<key>Type</key>
<string>IASKButtonSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>