diff --git a/app/src/main/java/no/nordicsemi/android/nrftoolbox/NrfToolboxApplication.kt b/app/src/main/java/no/nordicsemi/android/nrftoolbox/NrfToolboxApplication.kt index ce115ffb..47f36652 100644 --- a/app/src/main/java/no/nordicsemi/android/nrftoolbox/NrfToolboxApplication.kt +++ b/app/src/main/java/no/nordicsemi/android/nrftoolbox/NrfToolboxApplication.kt @@ -2,6 +2,19 @@ package no.nordicsemi.android.nrftoolbox import android.app.Application import dagger.hilt.android.HiltAndroidApp +import no.nordicsemi.android.analytics.AppAnalytics +import no.nordicsemi.android.analytics.AppOpenEvent +import javax.inject.Inject @HiltAndroidApp -class NrfToolboxApplication : Application() +class NrfToolboxApplication : Application() { + + @Inject + lateinit var analytics: AppAnalytics + + override fun onCreate() { + super.onCreate() + + analytics.logEvent(AppOpenEvent) + } +} diff --git a/lib_analytics/build.gradle b/lib_analytics/build.gradle index c2a7bbaf..a097513e 100644 --- a/lib_analytics/build.gradle +++ b/lib_analytics/build.gradle @@ -9,14 +9,3 @@ dependencies { implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-crashlytics' } - -task copyGoogleIdValuesTask(type: Copy) { - from 'src/main/res/values/values.xml' - into "$project.buildDir/generated/res/google-services/release/values/" -} - -import com.google.firebase.crashlytics.buildtools.gradle.tasks.UploadMappingFileTask - -tasks.withType(UploadMappingFileTask).configureEach { - dependsOn(copyGoogleIdValuesTask) -} diff --git a/lib_analytics/src/main/java/no/nordicsemi/android/analytics/AppAnalytics.kt b/lib_analytics/src/main/java/no/nordicsemi/android/analytics/AppAnalytics.kt index ab0c3f66..2da66107 100644 --- a/lib_analytics/src/main/java/no/nordicsemi/android/analytics/AppAnalytics.kt +++ b/lib_analytics/src/main/java/no/nordicsemi/android/analytics/AppAnalytics.kt @@ -1,11 +1,13 @@ package no.nordicsemi.android.analytics +import android.annotation.SuppressLint import android.content.Context import com.google.firebase.analytics.FirebaseAnalytics import dagger.hilt.android.qualifiers.ApplicationContext import javax.inject.Inject import javax.inject.Singleton +@SuppressLint("MissingPermission") @Singleton class AppAnalytics @Inject constructor( @ApplicationContext @@ -14,7 +16,7 @@ class AppAnalytics @Inject constructor( private val firebase by lazy { FirebaseAnalytics.getInstance(context) } - fun logEvent(event: ProfileOpenEvent) { - firebase.logEvent(event.firebaseName, null) + fun logEvent(event: AppEvent) { + firebase.logEvent(event.eventName, null) } } diff --git a/lib_analytics/src/main/java/no/nordicsemi/android/analytics/ProfileOpenEvent.kt b/lib_analytics/src/main/java/no/nordicsemi/android/analytics/ProfileOpenEvent.kt index 05391cc2..c072e2d6 100644 --- a/lib_analytics/src/main/java/no/nordicsemi/android/analytics/ProfileOpenEvent.kt +++ b/lib_analytics/src/main/java/no/nordicsemi/android/analytics/ProfileOpenEvent.kt @@ -1,6 +1,14 @@ package no.nordicsemi.android.analytics -enum class ProfileOpenEvent(internal val firebaseName: String) { +sealed interface AppEvent { + val eventName: String +} + +object AppOpenEvent : AppEvent { + override val eventName: String = "APP_OPEN" +} + +enum class ProfileOpenEvent(override val eventName: String) : AppEvent { BPS("BPS_PROFILE_OPEN"), CGMS("CGMS_PROFILE_OPEN"), CSC("CSC_PROFILE_OPEN"),