From d569ea24c72f9e3949f53a8213d6f993c52f9e79 Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Tue, 1 Sep 2015 18:48:35 -0700 Subject: [ios] Implemented correct turning Alohalytics statistics off if user disabled it in settings. --- iphone/Maps/Classes/MapsAppDelegate.mm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'iphone/Maps/Classes') diff --git a/iphone/Maps/Classes/MapsAppDelegate.mm b/iphone/Maps/Classes/MapsAppDelegate.mm index c61daa03dc..9766a25806 100644 --- a/iphone/Maps/Classes/MapsAppDelegate.mm +++ b/iphone/Maps/Classes/MapsAppDelegate.mm @@ -171,13 +171,23 @@ void InitLocalizedStrings() - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + NSUserDefaults * ud = [NSUserDefaults standardUserDefaults]; // Initialize Alohalytics statistics engine. #ifndef OMIM_PRODUCTION [Alohalytics setDebugMode:YES]; #endif [Alohalytics setup:@"http://localhost:8080" withLaunchOptions:launchOptions]; + // Need to correctly support existing users who has already opted-out from statistics collection. + // TODO(AlexZ): Remove this code in a few releases after September 2nd, 2015. + NSString * const kOneTimeStatisticsDisabledCheck = @"AlohalyticsOneTimeStatisticsDisabledCheck"; + if (![ud boolForKey:kOneTimeStatisticsDisabledCheck]) + { + if (!Statistics.instance.enabled) + [Alohalytics disable]; + [ud setBool:YES forKey:kOneTimeStatisticsDisabledCheck]; + } - NSURL *url = launchOptions[UIApplicationLaunchOptionsURLKey]; + NSURL * url = launchOptions[UIApplicationLaunchOptionsURLKey]; if (url != nil) [self checkLaunchURL:url]; @@ -235,7 +245,7 @@ void InitLocalizedStrings() [self incrementSessionCount]; [self showAlertIfRequired]; } - [[NSUserDefaults standardUserDefaults] synchronize]; + [ud synchronize]; Framework & f = GetFramework(); application.applicationIconBadgeNumber = f.GetCountryTree().GetActiveMapLayout().GetOutOfDateCount(); -- cgit v1.2.3