From cce1f787d3af1a2729d5640eff7112abee65a17d Mon Sep 17 00:00:00 2001 From: Vishesh Handa <me@vhanda.in> Date: Sun, 6 Jun 2021 09:53:24 +0200 Subject: [PATCH] Don't even touch the firebase code if analytics are disabled The anlaytics fuctions do not do anything when analytics collection is disabled, and I've verified that I do not get any events in the firebase dashboard. However, to be on the safer side lets not even touch the code. Related to #506 --- lib/analytics/analytics.dart | 18 ++++++++++++++---- lib/error_reporting.dart | 4 ++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/analytics/analytics.dart b/lib/analytics/analytics.dart index f09f7dd3..a660d92b 100644 --- a/lib/analytics/analytics.dart +++ b/lib/analytics/analytics.dart @@ -146,8 +146,10 @@ class Analytics { Map<String, String> parameters = const {}, }) async { String name = _eventToString(e); - if (Platform.isAndroid || Platform.isIOS) { - await firebase.logEvent(name: name, parameters: parameters); + if (enabled) { + if (Platform.isAndroid || Platform.isIOS) { + await firebase.logEvent(name: name, parameters: parameters); + } } captureErrorBreadcrumb(name: name, parameters: parameters); } @@ -160,13 +162,21 @@ class Analytics { } Future<void> setCurrentScreen({required String screenName}) async { + if (!enabled) { + return; + } if (Platform.isAndroid || Platform.isIOS) { await firebase.setCurrentScreen(screenName: screenName); } } - Future<void> setUserProperty( - {required String name, required String value}) async { + Future<void> setUserProperty({ + required String name, + required String value, + }) async { + if (!enabled) { + return; + } if (Platform.isAndroid || Platform.isIOS) { await firebase.setUserProperty(name: name, value: value); } diff --git a/lib/error_reporting.dart b/lib/error_reporting.dart index 552cbb57..86c0ca6f 100644 --- a/lib/error_reporting.dart +++ b/lib/error_reporting.dart @@ -125,6 +125,10 @@ void captureErrorBreadcrumb({ required String name, required Map<String, String> parameters, }) { + if (!reportCrashes) { + return; + } + var b = Breadcrumb( message: name, timestamp: DateTime.now(),