From a6b7659eac500a8584ef6fc878443e27eebbc68f Mon Sep 17 00:00:00 2001 From: OatmealDome Date: Mon, 23 Jan 2023 12:55:27 -0500 Subject: [PATCH] FirebaseService: Perform version check when service runs --- .../App/Common/Services/FirebaseService.mm | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/Source/iOS/App/Common/Services/FirebaseService.mm b/Source/iOS/App/Common/Services/FirebaseService.mm index 207f9d756c..595cb078c7 100644 --- a/Source/iOS/App/Common/Services/FirebaseService.mm +++ b/Source/iOS/App/Common/Services/FirebaseService.mm @@ -17,7 +17,9 @@ @interface FirebaseService () @end -@implementation FirebaseService +@implementation FirebaseService { + BOOL _shouldSendInitialEvent; +} - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { if ([VersionManager shared].buildSource != DOLBuildSourceOfficial) { @@ -44,7 +46,14 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( [[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:analyticsEnabled]; if (analyticsEnabled) { - [self sendInitialAnalyticsEvents]; + NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; + + NSString* lastVersion = [defaults stringForKey:@"last_version"]; + NSString* currentVersion = [VersionManager shared].userFacingVersion; + + _shouldSendInitialEvent = ![lastVersion isEqualToString:currentVersion]; + } else { + _shouldSendInitialEvent = false; } return true; @@ -57,12 +66,7 @@ - (void)didFinishAnalyticsNoticeWithResult:(BOOL)result sender:(id)sender { } - (void)sendInitialAnalyticsEvents { - NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; - - NSString* lastVersion = [defaults stringForKey:@"last_version"]; - NSString* currentVersion = [VersionManager shared].userFacingVersion; - - if (![lastVersion isEqualToString:currentVersion]) { + if (_shouldSendInitialEvent) { NSString* appType; #ifdef NONJAILBROKEN appType = @"non-jailbroken"; @@ -74,7 +78,7 @@ - (void)sendInitialAnalyticsEvents { [FIRAnalytics logEventWithName:@"version_start" parameters:@{ @"type" : appType, - @"version" : currentVersion + @"version" : [VersionManager shared].userFacingVersion }]; } }