From badd4ef1e5064134221497a6cc3eaa55e3b3030f Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Mon, 2 Aug 2021 16:10:23 +0200 Subject: [PATCH] Analytics: Allow calls to logEvent even if we haven't been initialzed --- lib/analytics/analytics.dart | 4 ++-- lib/analytics/route_observer.dart | 2 +- lib/app.dart | 3 ++- lib/repository.dart | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/analytics/analytics.dart b/lib/analytics/analytics.dart index 3f209770..63016c40 100644 --- a/lib/analytics/analytics.dart +++ b/lib/analytics/analytics.dart @@ -136,7 +136,7 @@ class Analytics { return _global!; } - static Analytics get instance => _global!; + static Analytics? get instance => _global!; Future log({ required Event e, @@ -168,6 +168,6 @@ class Analytics { } void logEvent(Event event, {Map parameters = const {}}) { - Analytics.instance.log(e: event, parameters: parameters); + Analytics.instance?.log(e: event, parameters: parameters); Log.d("$event", props: parameters); } diff --git a/lib/analytics/route_observer.dart b/lib/analytics/route_observer.dart index 5f064d4a..b47bde9f 100644 --- a/lib/analytics/route_observer.dart +++ b/lib/analytics/route_observer.dart @@ -16,7 +16,7 @@ class AnalyticsRouteObserver extends RouteObserver> { } try { - await Analytics.instance.setCurrentScreen(screenName: screenName); + await Analytics.instance?.setCurrentScreen(screenName: screenName); } catch (e, stackTrace) { Log.e("AnalyticsRouteObserver", ex: e, stacktrace: stackTrace); } diff --git a/lib/app.dart b/lib/app.dart index dbba45dc..850a6a5b 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -97,7 +97,8 @@ class JournalApp extends StatefulWidget { )); } - static void _enableAnalyticsIfPossible(AppSettings appSettings) async { + static Future _enableAnalyticsIfPossible( + AppSettings appSettings) async { JournalApp.isInDebugMode = foundation.kDebugMode; var isPhysicalDevice = true; diff --git a/lib/repository.dart b/lib/repository.dart index a92ee578..29c5c9fd 100644 --- a/lib/repository.dart +++ b/lib/repository.dart @@ -152,7 +152,7 @@ class GitJournalRepo with ChangeNotifier { Log.i("Branch $_currentBranch"); // Makes it easier to filter the analytics - Analytics.instance.setUserProperty( + Analytics.instance?.setUserProperty( name: 'onboarded', value: remoteGitRepoConfigured.toString(), );