From 11aef0d9d097feb98f4f1b9d6060926b0bd4fca6 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Mon, 23 Mar 2015 18:29:13 -0500 Subject: [PATCH] #1033 - Adding accessibilityFontScale attribute --- platform/ios/MGLMapboxEvents.m | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/platform/ios/MGLMapboxEvents.m b/platform/ios/MGLMapboxEvents.m index c8b742204..5c5442444 100644 --- a/platform/ios/MGLMapboxEvents.m +++ b/platform/ios/MGLMapboxEvents.m @@ -129,6 +129,7 @@ NSNumber *scale; [evt setValue:[[NSNumber alloc] initWithFloat:(100 * [UIDevice currentDevice].batteryLevel)] forKey:@"batteryLevel"]; [evt setValue:scale forKey:@"resolution"]; [evt setValue:carrier forKey:@"carrier"]; + [evt setValue:[NSNumber numberWithInt:[self getContentSizeScale]] forKey:@"accessibilityFontScale"]; for (NSString *key in [attributeDictionary allKeys]) { [evt setObject:[attributeDictionary valueForKey:key] forKey:key]; @@ -243,6 +244,38 @@ NSNumber *scale; } } +- (int) getContentSizeScale { + NSString *sc = [UIApplication sharedApplication].preferredContentSizeCategory; + + if ([sc isEqualToString:UIContentSizeCategoryExtraSmall]) { + return -3; + } else if ([sc isEqualToString:UIContentSizeCategorySmall]) { + return -2; + } else if ([sc isEqualToString:UIContentSizeCategoryMedium]) { + return -1; + } else if ([sc isEqualToString:UIContentSizeCategoryLarge]) { + return 0; + } else if ([sc isEqualToString:UIContentSizeCategoryExtraLarge]) { + return 1; + } else if ([sc isEqualToString:UIContentSizeCategoryExtraExtraLarge]) { + return 2; + } else if ([sc isEqualToString:UIContentSizeCategoryExtraExtraExtraLarge]) { + return 3; + } else if ([sc isEqualToString:UIContentSizeCategoryAccessibilityMedium]) { + return -11; + } else if ([sc isEqualToString:UIContentSizeCategoryAccessibilityLarge]) { + return 10; + } else if ([sc isEqualToString:UIContentSizeCategoryAccessibilityExtraLarge]) { + return 11; + } else if ([sc isEqualToString:UIContentSizeCategoryAccessibilityExtraExtraLarge]) { + return 12; + } else if ([sc isEqualToString:UIContentSizeCategoryAccessibilityExtraExtraExtraLarge]) { + return 13; + } + return -9999; +} + + - (NSString *)getSysInfoByName:(char *)typeSpecifier { size_t size;