From d511dab346a3280d7b0d9a69b417dbe7667ac775 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Wed, 22 Apr 2020 00:51:25 +0200 Subject: [PATCH] Abstract out the analytics class --- lib/analytics.dart | 20 ++++++++++++++++++-- lib/app.dart | 5 +++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/lib/analytics.dart b/lib/analytics.dart index 372e113f..8a29495b 100644 --- a/lib/analytics.dart +++ b/lib/analytics.dart @@ -1,7 +1,23 @@ -import 'package:gitjournal/app.dart'; +import 'package:flutter/foundation.dart'; +import 'package:gitjournal/app.dart'; import 'package:firebase_analytics/firebase_analytics.dart'; -FirebaseAnalytics getAnalytics() { +Analytics getAnalytics() { return JournalApp.analytics; } + +class Analytics { + FirebaseAnalytics firebase; + + Future logEvent({ + @required String name, + Map parameters, + }) async { + return firebase.logEvent(name: name, parameters: parameters); + } + + Future setAnalyticsCollectionEnabled(bool enabled) async { + return firebase.setAnalyticsCollectionEnabled(enabled); + } +} diff --git a/lib/app.dart b/lib/app.dart index 503abd81..cdd871f9 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -4,6 +4,7 @@ import 'package:device_info/device_info.dart'; import 'package:firebase_analytics/firebase_analytics.dart'; import 'package:firebase_analytics/observer.dart'; import 'package:flutter/material.dart'; +import 'package:gitjournal/analytics.dart'; import 'package:gitjournal/screens/purchase_screen.dart'; import 'package:gitjournal/screens/purchase_thankyou_screen.dart'; import 'package:gitjournal/utils/logger.dart'; @@ -109,9 +110,9 @@ class JournalApp extends StatelessWidget { } } - static FirebaseAnalytics analytics = FirebaseAnalytics(); + static final analytics = Analytics(); static FirebaseAnalyticsObserver observer = - FirebaseAnalyticsObserver(analytics: analytics); + FirebaseAnalyticsObserver(analytics: analytics.firebase); static bool isInDebugMode = false;