ifish/Ifish/controllers/IfishTabControllers/消息/IfishIMFiles/Sessions/Util/NTESBundleSetting.m

268 lines
7.7 KiB
Objective-C

//
// NTESBundleSetting.m
// NIM
//
// Created by chris on 15/7/1.
// Copyright (c) 2015年 Netease. All rights reserved.
//
#import "NTESBundleSetting.h"
@implementation NTESBundleSetting
+ (instancetype)sharedConfig
{
static NTESBundleSetting *instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[NTESBundleSetting alloc] init];
});
return instance;
}
- (BOOL)removeSessionWheDeleteMessages{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"enabled_remove_recent_session"] boolValue];
}
- (BOOL)localSearchOrderByTimeDesc{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"local_search_time_order_desc"] boolValue];
}
- (BOOL)autoRemoveRemoteSession{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"auto_remove_remote_session"] boolValue];
}
- (BOOL)autoRemoveSnapMessage{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"auto_remove_snap_message"] boolValue];
}
- (BOOL)needVerifyForFriend
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"add_friend_need_verify"] boolValue];
}
- (BOOL)showFps{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"show_fps_for_app"] boolValue];
}
- (BOOL)disableProximityMonitor
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"disable_proxmity_monitor"] boolValue];
}
- (BOOL)enableRotate
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"enable_rotate"] boolValue];
}
- (BOOL)usingAmr
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"using_amr"] boolValue];
}
- (NSArray *)ignoreTeamNotificationTypes
{
static NSArray *types = nil;
if (types == nil)
{
NSString *value = [[NSUserDefaults standardUserDefaults] objectForKey:@"ignore_team_types"];
if ([value isKindOfClass:[NSString class]])
{
NSString *typeDescription = [value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if ([typeDescription length])
{
types = [typeDescription componentsSeparatedByString:@","];
}
}
}
if (types == nil)
{
types = [NSArray array];
}
return types;
}
- (BOOL)serverRecordAudio
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"server_record_audio"] boolValue];
}
- (BOOL)serverRecordVideo
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"server_record_video"] boolValue];
}
- (BOOL)serverRecordWhiteboardData
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"server_record_whiteboard_data"] boolValue];
}
- (BOOL)videochatDisableAutoCropping
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_disable_auto_cropping"] boolValue];
}
- (BOOL)videochatAutoRotateRemoteVideo
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_auto_rotate_remote_video"] boolValue];
}
- (NIMNetCallVideoQuality)preferredVideoQuality
{
NSInteger videoQualitySetting = [[[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_preferred_video_quality"] integerValue];
if ((videoQualitySetting >= NIMNetCallVideoQualityDefault) &&
(videoQualitySetting <= NIMNetCallVideoQuality720pLevel)) {
return (NIMNetCallVideoQuality)videoQualitySetting;
}
return NIMNetCallVideoQualityDefault;
}
- (BOOL)startWithBackCamera
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_start_with_back_camera"] boolValue];
}
- (NIMNetCallVideoCodec)perferredVideoEncoder
{
NSInteger videoEncoderSetting = [[[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_preferred_video_encoder"] integerValue];
if ((videoEncoderSetting >= NIMNetCallVideoCodecDefault) &&
(videoEncoderSetting <= NIMNetCallVideoCodecHardware)) {
return (NIMNetCallVideoCodec)videoEncoderSetting;
}
return NIMNetCallVideoCodecDefault;
}
- (NIMNetCallVideoCodec)perferredVideoDecoder
{
NSInteger videoDecoderSetting = [[[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_preferred_video_decoder"] integerValue];
if ((videoDecoderSetting >= NIMNetCallVideoCodecDefault) &&
(videoDecoderSetting <= NIMNetCallVideoCodecHardware)) {
return (NIMNetCallVideoCodec)videoDecoderSetting;
}
return NIMNetCallVideoCodecDefault;
}
- (NSUInteger)videoMaxEncodeKbps
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_video_encode_max_kbps"] integerValue];
}
- (NSUInteger)localRecordVideoKbps
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_local_record_video_kbps"] integerValue];
}
- (BOOL)autoDeactivateAudioSession
{
id setting = [[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_auto_disable_audiosession"];
if (setting) {
return [setting boolValue];
}
else {
return YES;
}
}
- (BOOL)audioDenoise
{
id setting = [[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_audio_denoise"];
if (setting) {
return [setting boolValue];
}
else {
return YES;
}
}
- (BOOL)voiceDetect
{
id setting = [[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_voice_detect"];
if (setting) {
return [setting boolValue];
}
else {
return YES;
}
}
- (BOOL)preferHDAudio
{
id setting = [[NSUserDefaults standardUserDefaults] objectForKey:@"videochat_prefer_hd_audio"];
if (setting) {
return [setting boolValue];
}
else {
return NO;
}
}
- (NSString *)description
{
return [NSString stringWithFormat:
@"\n\n\n" \
"enabled_remove_recent_session %d\n" \
"local_search_time_order_desc %d\n" \
"auto_remove_remote_session %d\n" \
"auto_remove_snap_message %d\n" \
"add_friend_need_verify %d\n" \
"show app %d\n" \
"using amr %d\n" \
"ignore_team_types %@ \n" \
"server_record_audio %d\n" \
"server_record_video %d\n" \
"server_record_whiteboard_data %d\n" \
"videochat_disable_auto_cropping %d\n" \
"videochat_auto_rotate_remote_video %d \n" \
"videochat_preferred_video_quality %zd\n" \
"videochat_start_with_back_camera %zd\n" \
"videochat_preferred_video_encoder %zd\n" \
"videochat_preferred_video_decoder %zd\n" \
"videochat_video_encode_max_kbps %zd\n" \
"videochat_local_record_video_kbps %zd\n" \
"videochat_auto_disable_audiosession %zd\n" \
"videochat_audio_denoise %zd\n" \
"videochat_voice_detect %zd\n" \
"videochat_prefer_hd_audio %zd\n" \
"\n\n\n",
[self removeSessionWheDeleteMessages],
[self localSearchOrderByTimeDesc],
[self autoRemoveRemoteSession],
[self autoRemoveSnapMessage],
[self needVerifyForFriend],
[self showFps],
[self usingAmr],
[self ignoreTeamNotificationTypes],
[self serverRecordAudio],
[self serverRecordVideo],
[self serverRecordWhiteboardData],
[self videochatDisableAutoCropping],
[self videochatAutoRotateRemoteVideo],
[self preferredVideoQuality],
[self startWithBackCamera],
[self perferredVideoEncoder],
[self perferredVideoDecoder],
[self videoMaxEncodeKbps],
[self localRecordVideoKbps],
[self autoDeactivateAudioSession],
[self audioDenoise],
[self voiceDetect],
[self preferHDAudio]
];
}
@end