Disable Firebase data collection in debug builds

This commit is contained in:
Kirill Kamakin
2022-11-05 12:00:51 +01:00
parent b84406d384
commit f98de3784e
6 changed files with 76 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
package gq.kirmanak.mealient.data.analytics
interface Analytics {
fun setIsEnabled(enabled: Boolean)
}

View File

@@ -0,0 +1,21 @@
package gq.kirmanak.mealient.data.analytics
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.crashlytics.FirebaseCrashlytics
import gq.kirmanak.mealient.logging.Logger
import javax.inject.Inject
import javax.inject.Singleton
@Singleton
class AnalyticsImpl @Inject constructor(
private val firebaseAnalytics: FirebaseAnalytics,
private val firebaseCrashlytics: FirebaseCrashlytics,
private val logger: Logger,
) : Analytics {
override fun setIsEnabled(enabled: Boolean) {
logger.v { "setIsEnabled() called with: enabled = $enabled" }
firebaseAnalytics.setAnalyticsCollectionEnabled(enabled)
firebaseCrashlytics.setCrashlyticsCollectionEnabled(enabled)
}
}

View File

@@ -0,0 +1,5 @@
package gq.kirmanak.mealient.data.configuration
interface BuildConfiguration {
fun isDebug(): Boolean
}

View File

@@ -0,0 +1,11 @@
package gq.kirmanak.mealient.data.configuration
import gq.kirmanak.mealient.BuildConfig
import javax.inject.Inject
import javax.inject.Singleton
@Singleton
class BuildConfigurationImpl @Inject constructor() : BuildConfiguration {
override fun isDebug(): Boolean = BuildConfig.DEBUG
}