Skip to content

Commit

Permalink
fix: Address PR comments
Browse files Browse the repository at this point in the history
  • Loading branch information
omerhabib26 committed Nov 30, 2023
1 parent 46c5d51 commit 9562237
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 9 deletions.
14 changes: 12 additions & 2 deletions app/src/main/java/org/openedx/app/AnalyticsManager.kt
Original file line number Diff line number Diff line change
@@ -1,21 +1,31 @@
package org.openedx.app

import android.content.Context
import android.os.Bundle
import androidx.core.os.bundleOf
import org.openedx.app.analytics.Analytics
import org.openedx.app.analytics.FirebaseAnalytics
import org.openedx.auth.presentation.AuthAnalytics
import org.openedx.core.BuildConfig
import org.openedx.course.presentation.CourseAnalytics
import org.openedx.dashboard.presentation.DashboardAnalytics
import org.openedx.discovery.presentation.DiscoveryAnalytics
import org.openedx.discussion.presentation.DiscussionAnalytics
import org.openedx.profile.presentation.ProfileAnalytics

class AnalyticsManager : DashboardAnalytics, AuthAnalytics, AppAnalytics,
class AnalyticsManager(context: Context) : DashboardAnalytics, AuthAnalytics, AppAnalytics,
DiscoveryAnalytics, ProfileAnalytics, CourseAnalytics, DiscussionAnalytics {

private val services: ArrayList<Analytics> = arrayListOf()

fun addAnalyticsTracker(analytic: Analytics) {
init {
// Initialise all the analytics libraries here
if (BuildConfig.FIREBASE_PROJECT_ID.isNotEmpty()) {
addAnalyticsTracker(FirebaseAnalytics(context = context))
}
}

private fun addAnalyticsTracker(analytic: Analytics) {
services.add(analytic)
}

Expand Down
6 changes: 0 additions & 6 deletions app/src/main/java/org/openedx/app/OpenEdXApp.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,14 @@ import android.app.Application
import com.google.firebase.FirebaseOptions
import com.google.firebase.ktx.Firebase
import com.google.firebase.ktx.initialize
import org.koin.android.ext.android.inject
import org.koin.android.ext.koin.androidContext
import org.koin.core.context.startKoin
import org.openedx.app.analytics.FirebaseAnalytics
import org.openedx.app.di.appModule
import org.openedx.app.di.networkingModule
import org.openedx.app.di.screenModule

class OpenEdXApp : Application() {

private val analytics: AnalyticsManager by inject()

override fun onCreate() {
super.onCreate()
startKoin {
Expand All @@ -35,8 +31,6 @@ class OpenEdXApp : Application() {
.setGcmSenderId(org.openedx.core.BuildConfig.FIREBASE_GCM_SENDER_ID)
.build()
Firebase.initialize(this, options)
//Add Firebase Analytics for tracking
analytics.addAnalyticsTracker(FirebaseAnalytics(context = baseContext))
}
}
}
3 changes: 2 additions & 1 deletion app/src/main/java/org/openedx/app/di/AppModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import org.openedx.core.presentation.global.WhatsNewGlobalManager
import org.openedx.core.system.AppCookieManager
import org.openedx.core.system.ResourceManager
import org.openedx.core.system.connection.NetworkConnection
import org.openedx.core.system.notifier.AppUpgradeNotifier
import org.openedx.core.system.notifier.CourseNotifier
import org.openedx.course.presentation.CourseAnalytics
import org.openedx.course.presentation.CourseRouter
Expand Down Expand Up @@ -136,7 +137,7 @@ val appModule = module {
single { WhatsNewManager(get(), get(), get()) }
single<WhatsNewGlobalManager> { get<WhatsNewManager>() }

single { AnalyticsManager() }
single { AnalyticsManager(get()) }
single<DashboardAnalytics> { get<AnalyticsManager>() }
single<AuthAnalytics> { get<AnalyticsManager>() }
single<AppAnalytics> { get<AnalyticsManager>() }
Expand Down

0 comments on commit 9562237

Please sign in to comment.