forked from mirrors/linphone-iphone
Utils: use device name instead of identifier in user-agent
This commit is contained in:
parent
9689a0f12e
commit
442c7bca7a
3 changed files with 116 additions and 8 deletions
|
|
@ -1360,13 +1360,14 @@ static LinphoneCoreVTable linphonec_vtable = {
|
|||
NSString *zrtpSecretsFileName = [LinphoneManager documentFile:@"zrtp_secrets"];
|
||||
NSString *chatDBFileName = [LinphoneManager documentFile:kLinphoneInternalChatDBFilename];
|
||||
|
||||
NSMutableString *device = [[NSMutableString alloc]
|
||||
NSString *device = [[NSMutableString alloc]
|
||||
initWithString:[NSString
|
||||
stringWithFormat:@"%@_%@_iOS%@",
|
||||
[NSBundle.mainBundle objectForInfoDictionaryKey:@"CFBundleDisplayName"],
|
||||
[LinphoneUtils deviceName], UIDevice.currentDevice.systemVersion]];
|
||||
[device stringByReplacingOccurrencesOfString:@"," withString:@"."];
|
||||
[device stringByReplacingOccurrencesOfString:@" " withString:@"."];
|
||||
[LinphoneUtils deviceModelIdentifier],
|
||||
UIDevice.currentDevice.systemVersion]];
|
||||
device = [device stringByReplacingOccurrencesOfString:@"," withString:@"."];
|
||||
device = [device stringByReplacingOccurrencesOfString:@" " withString:@"."];
|
||||
linphone_core_set_user_agent(theLinphoneCore, device.UTF8String, LINPHONE_IOS_VERSION);
|
||||
|
||||
_contactSipField = [self lpConfigStringForKey:@"contact_im_type_value" withDefault:@"SIP"];
|
||||
|
|
@ -1399,7 +1400,7 @@ static LinphoneCoreVTable linphonec_vtable = {
|
|||
if (strcmp(FRONT_CAM_NAME, cam) == 0) {
|
||||
_frontCamId = cam;
|
||||
// great set default cam to front
|
||||
linphone_core_set_video_device(theLinphoneCore, cam);
|
||||
linphone_core_set_video_device(theLinphoneCore, _frontCamId);
|
||||
}
|
||||
if (strcmp(BACK_CAM_NAME, cam) == 0) {
|
||||
_backCamId = cam;
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
+ (void)buttonFixStates:(UIButton*)button;
|
||||
+ (void)buttonMultiViewAddAttributes:(NSMutableDictionary*)attributes button:(UIButton*)button;
|
||||
+ (void)buttonMultiViewApplyAttributes:(NSDictionary*)attributes button:(UIButton*)button;
|
||||
+ (NSString *)deviceName;
|
||||
+ (NSString *)deviceModelIdentifier;
|
||||
|
||||
+ (LinphoneAddress *)normalizeSipOrPhoneAddress:(NSString *)addr;
|
||||
|
||||
|
|
|
|||
|
|
@ -332,11 +332,118 @@
|
|||
return nil;
|
||||
}
|
||||
|
||||
+ (NSString *)deviceName {
|
||||
+ (NSString *)deviceModelIdentifier {
|
||||
struct utsname systemInfo;
|
||||
uname(&systemInfo);
|
||||
|
||||
return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
|
||||
NSString *machine = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
|
||||
|
||||
if ([machine isEqual:@"iPad1,1"])
|
||||
return @"iPad";
|
||||
else if ([machine isEqual:@"iPad2,1"])
|
||||
return @"iPad 2";
|
||||
else if ([machine isEqual:@"iPad2,2"])
|
||||
return @"iPad 2";
|
||||
else if ([machine isEqual:@"iPad2,3"])
|
||||
return @"iPad 2";
|
||||
else if ([machine isEqual:@"iPad2,4"])
|
||||
return @"iPad 2";
|
||||
else if ([machine isEqual:@"iPad3,1"])
|
||||
return @"iPad 3";
|
||||
else if ([machine isEqual:@"iPad3,2"])
|
||||
return @"iPad 3";
|
||||
else if ([machine isEqual:@"iPad3,3"])
|
||||
return @"iPad 3";
|
||||
else if ([machine isEqual:@"iPad3,4"])
|
||||
return @"iPad 4";
|
||||
else if ([machine isEqual:@"iPad3,5"])
|
||||
return @"iPad 4";
|
||||
else if ([machine isEqual:@"iPad3,6"])
|
||||
return @"iPad 4";
|
||||
else if ([machine isEqual:@"iPad4,1"])
|
||||
return @"iPad Air";
|
||||
else if ([machine isEqual:@"iPad4,2"])
|
||||
return @"iPad Air";
|
||||
else if ([machine isEqual:@"iPad4,3"])
|
||||
return @"iPad Air";
|
||||
else if ([machine isEqual:@"iPad5,3"])
|
||||
return @"iPad Air 2";
|
||||
else if ([machine isEqual:@"iPad5,4"])
|
||||
return @"iPad Air 2";
|
||||
else if ([machine isEqual:@"iPad6,7"])
|
||||
return @"iPad Pro 12.9";
|
||||
else if ([machine isEqual:@"iPad6,8"])
|
||||
return @"iPad Pro 12.9";
|
||||
else if ([machine isEqual:@"iPad6,3"])
|
||||
return @"iPad Pro 9.7";
|
||||
else if ([machine isEqual:@"iPad6,4"])
|
||||
return @"iPad Pro 9.7";
|
||||
else if ([machine isEqual:@"iPad2,5"])
|
||||
return @"iPad mini";
|
||||
else if ([machine isEqual:@"iPad2,6"])
|
||||
return @"iPad mini";
|
||||
else if ([machine isEqual:@"iPad2,7"])
|
||||
return @"iPad mini";
|
||||
else if ([machine isEqual:@"iPad4,4"])
|
||||
return @"iPad mini 2";
|
||||
else if ([machine isEqual:@"iPad4,5"])
|
||||
return @"iPad mini 2";
|
||||
else if ([machine isEqual:@"iPad4,6"])
|
||||
return @"iPad mini 2";
|
||||
else if ([machine isEqual:@"iPad4,7"])
|
||||
return @"iPad mini 3";
|
||||
else if ([machine isEqual:@"iPad4,8"])
|
||||
return @"iPad mini 3";
|
||||
else if ([machine isEqual:@"iPad4,9"])
|
||||
return @"iPad mini 3";
|
||||
else if ([machine isEqual:@"iPad5,1"])
|
||||
return @"iPad mini 4";
|
||||
else if ([machine isEqual:@"iPad5,2"])
|
||||
return @"iPad mini 4";
|
||||
|
||||
else if ([machine isEqual:@"iPhone1,1"])
|
||||
return @"iPhone";
|
||||
else if ([machine isEqual:@"iPhone1,2"])
|
||||
return @"iPhone 3G";
|
||||
else if ([machine isEqual:@"iPhone2,1"])
|
||||
return @"iPhone 3GS";
|
||||
else if ([machine isEqual:@"iPhone3,1"])
|
||||
return @"iPhone3,2 iPhone3,3 iPhone 4";
|
||||
else if ([machine isEqual:@"iPhone4,1"])
|
||||
return @"iPhone 4S";
|
||||
else if ([machine isEqual:@"iPhone5,1"])
|
||||
return @"iPhone5,2 iPhone 5";
|
||||
else if ([machine isEqual:@"iPhone5,3"])
|
||||
return @"iPhone5,4 iPhone 5c";
|
||||
else if ([machine isEqual:@"iPhone6,1"])
|
||||
return @"iPhone6,2 iPhone 5s";
|
||||
else if ([machine isEqual:@"iPhone7,2"])
|
||||
return @"iPhone 6";
|
||||
else if ([machine isEqual:@"iPhone7,1"])
|
||||
return @"iPhone 6 Plus";
|
||||
else if ([machine isEqual:@"iPhone8,1"])
|
||||
return @"iPhone 6s";
|
||||
else if ([machine isEqual:@"iPhone8,2"])
|
||||
return @"iPhone 6s Plus";
|
||||
else if ([machine isEqual:@"iPhone8,4"])
|
||||
return @"iPhone SE";
|
||||
|
||||
else if ([machine isEqual:@"iPod1,1"])
|
||||
return @"iPod touch";
|
||||
else if ([machine isEqual:@"iPod2,1"])
|
||||
return @"iPod touch 2G";
|
||||
else if ([machine isEqual:@"iPod3,1"])
|
||||
return @"iPod touch 3G";
|
||||
else if ([machine isEqual:@"iPod4,1"])
|
||||
return @"iPod touch 4G";
|
||||
else if ([machine isEqual:@"iPod5,1"])
|
||||
return @"iPod touch 5G";
|
||||
else if ([machine isEqual:@"iPod7,1"])
|
||||
return @"iPod touch 6G";
|
||||
|
||||
// none matched: cf https://www.theiphonewiki.com/wiki/Models for the whole list
|
||||
LOGW(@"%s: Oops, unknown machine %@... consider completing me!", __FUNCTION__, machine);
|
||||
return machine;
|
||||
}
|
||||
|
||||
+ (LinphoneAddress *)normalizeSipOrPhoneAddress:(NSString *)value {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue