@@ -11,6 +11,8 @@ import com.getcode.db.InMemoryDao
1111import com.getcode.model.AirdropType
1212import com.getcode.model.PrefsBool
1313import com.getcode.model.PrefsString
14+ import com.getcode.model.description
15+ import com.getcode.model.uuid
1416import com.getcode.network.BalanceController
1517import com.getcode.network.ChatHistoryController
1618import com.getcode.network.exchange.Exchange
@@ -26,13 +28,15 @@ import com.getcode.util.AccountUtils
2628import com.getcode.utils.ErrorUtils
2729import com.getcode.utils.TraceType
2830import com.getcode.utils.installationId
31+ import com.getcode.utils.makeE164
2932import com.getcode.utils.trace
3033import com.getcode.utils.token
3134import com.google.firebase.Firebase
3235import com.google.firebase.installations.installations
3336import com.google.firebase.messaging.FirebaseMessaging
3437import com.google.firebase.messaging.messaging
3538import com.ionspin.kotlin.crypto.LibsodiumInitializer
39+ import com.mixpanel.android.mpmetrics.MixpanelAPI
3640import dagger.hilt.android.qualifiers.ApplicationContext
3741import io.reactivex.rxjava3.core.Completable
3842import io.reactivex.rxjava3.core.Single
@@ -59,6 +63,7 @@ class AuthManager @Inject constructor(
5963 private val inMemoryDao : InMemoryDao ,
6064 private val analytics : AnalyticsService ,
6165 private val mnemonicManager : MnemonicManager ,
66+ private val mixpanelAPI : MixpanelAPI
6267) : CoroutineScope by CoroutineScope(Dispatchers .IO ) {
6368 private var softLoginDisabled: Boolean = false
6469
@@ -265,9 +270,21 @@ class AuthManager @Inject constructor(
265270 }
266271 .doOnSuccess {
267272 taggedTrace(" account data fetched successfully" )
273+
274+ val distinctId = user?.userId?.description
275+ val phoneNumber = phone?.phoneNumber?.makeE164()
276+
268277 if (! BuildConfig .DEBUG ) {
278+ // BugSnag
269279 if (Bugsnag .isStarted()) {
270- Bugsnag .setUser(null , phone?.phoneNumber, null )
280+ Bugsnag .setUser(distinctId, phoneNumber, null )
281+ }
282+
283+ // Mixpanel
284+ mixpanelAPI.identify(distinctId)
285+
286+ if (phone?.phoneNumber != null ) {
287+ mixpanelAPI.people.set(" \$ email" , phoneNumber)
271288 }
272289 }
273290 launch { savePrefs(phone!! , user!! ) }
0 commit comments