Updated on 2026-08-14

This commit is contained in:
Tangem 2020-04-17 10:08:51 +03:00
parent e5d82031d2
commit 2f407448f0
7 changed files with 48 additions and 30 deletions

View file

@ -2,8 +2,6 @@ package com.tangem
import android.app.Application
import androidx.appcompat.app.AppCompatDelegate
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.crashlytics.FirebaseCrashlytics
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.tangem.data.dp.PrefsManager
@ -80,10 +78,7 @@ class App : Application() {
)
}
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(Analytics.isEnabled())
FirebaseAnalytics.getInstance(this).setAnalyticsCollectionEnabled(
Analytics.isEnabled() && !BuildConfig.DEBUG
)
Analytics.setFirebaseEnabled(this)
}
private fun buildToastHelperComponent(): ToastHelperComponent {

View file

@ -22,6 +22,8 @@ import androidx.core.os.bundleOf
import androidx.lifecycle.ViewModelProviders
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.crashlytics.FirebaseCrashlytics
import com.google.firebase.perf.FirebasePerformance
import com.google.firebase.perf.metrics.Trace
import com.tangem.App
import com.tangem.Constant
import com.tangem.data.Blockchain
@ -77,6 +79,7 @@ class MainFragment : BaseFragment(), NavigationResultListener, NfcAdapter.Reader
override val layoutId = R.layout.fragment_main
private lateinit var viewModel: MainViewModel
private lateinit var nfcDeviceAntenna: NfcDeviceAntennaLocation
private var tapTimerTrace: Trace? = null
private var unsuccessReadCount = 0
private var task: CustomReadCardTask? = null
private var lastTag: Tag? = null
@ -156,6 +159,9 @@ class MainFragment : BaseFragment(), NavigationResultListener, NfcAdapter.Reader
}
override fun onResume() {
tapTimerTrace = FirebasePerformance.getInstance()
.newTrace(AnalyticsEvent.CARD_TAP_USER_TIMER.event)
tapTimerTrace?.start()
super.onResume()
nfcDeviceAntenna.animate()
}
@ -167,6 +173,7 @@ class MainFragment : BaseFragment(), NavigationResultListener, NfcAdapter.Reader
override fun onStop() {
task?.cancel(true)
tapTimerTrace = null
super.onStop()
}
@ -248,6 +255,7 @@ class MainFragment : BaseFragment(), NavigationResultListener, NfcAdapter.Reader
}
override fun onReadFinish(cardProtocol: CardProtocol?) {
tapTimerTrace?.stop()
task = null
if (cardProtocol != null) {
if (cardProtocol.error == null) {

View file

@ -11,7 +11,6 @@ import androidx.preference.Preference
import androidx.preference.PreferenceCategory
import androidx.preference.PreferenceFragmentCompat
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.crashlytics.FirebaseCrashlytics
import com.tangem.util.Analytics
import com.tangem.util.AnalyticsEvent
import com.tangem.wallet.BuildConfig
@ -48,15 +47,13 @@ class SettingsFragment : PreferenceFragmentCompat(), SharedPreferences.OnSharedP
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
if (key == getString(R.string.pref_analytics)) {
activity?.let {
val analytics = FirebaseAnalytics.getInstance(it)
activity?.let {activity ->
val analytics = FirebaseAnalytics.getInstance(activity)
if (!Analytics.isEnabled()) {
analytics.logEvent(AnalyticsEvent.ANALYTICS_TURNED_OFF.event, bundleOf())
}
analytics.setAnalyticsCollectionEnabled(Analytics.isEnabled() && !BuildConfig.DEBUG)
Analytics.setFirebaseEnabled(activity)
}
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(Analytics.isEnabled())
}
}

View file

@ -1,8 +1,13 @@
package com.tangem.util
import android.content.Context
import android.os.Bundle
import androidx.core.os.bundleOf
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.crashlytics.FirebaseCrashlytics
import com.google.firebase.perf.FirebasePerformance
import com.tangem.data.dp.PrefsManager
import com.tangem.wallet.BuildConfig
import com.tangem.wallet.R
import com.tangem.wallet.TangemContext
@ -13,6 +18,7 @@ enum class AnalyticsEvent(val event: String) {
READY_TO_SIGN("ready_to_sign"),
SIGNED("signed"),
ANALYTICS_TURNED_OFF("analytics_turned_off"),
CARD_TAP_USER_TIMER("CardTapUserTimer"),
;
}
@ -36,5 +42,13 @@ class Analytics {
fun isEnabled(): Boolean {
return PrefsManager.getInstance().getSettingsBoolean(R.string.pref_analytics, true)
}
fun setFirebaseEnabled(context: Context, enable: Boolean = isEnabled()) {
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(enable)
FirebaseAnalytics.getInstance(context).setAnalyticsCollectionEnabled(
enable && !BuildConfig.DEBUG
)
FirebasePerformance.getInstance().isPerformanceCollectionEnabled = enable
}
}
}