@@ -11,6 +11,8 @@ import com.getcode.db.InMemoryDao
11
11
import com.getcode.model.AirdropType
12
12
import com.getcode.model.PrefsBool
13
13
import com.getcode.model.PrefsString
14
+ import com.getcode.model.description
15
+ import com.getcode.model.uuid
14
16
import com.getcode.network.BalanceController
15
17
import com.getcode.network.ChatHistoryController
16
18
import com.getcode.network.exchange.Exchange
@@ -26,13 +28,15 @@ import com.getcode.util.AccountUtils
26
28
import com.getcode.utils.ErrorUtils
27
29
import com.getcode.utils.TraceType
28
30
import com.getcode.utils.installationId
31
+ import com.getcode.utils.makeE164
29
32
import com.getcode.utils.trace
30
33
import com.getcode.utils.token
31
34
import com.google.firebase.Firebase
32
35
import com.google.firebase.installations.installations
33
36
import com.google.firebase.messaging.FirebaseMessaging
34
37
import com.google.firebase.messaging.messaging
35
38
import com.ionspin.kotlin.crypto.LibsodiumInitializer
39
+ import com.mixpanel.android.mpmetrics.MixpanelAPI
36
40
import dagger.hilt.android.qualifiers.ApplicationContext
37
41
import io.reactivex.rxjava3.core.Completable
38
42
import io.reactivex.rxjava3.core.Single
@@ -59,6 +63,7 @@ class AuthManager @Inject constructor(
59
63
private val inMemoryDao : InMemoryDao ,
60
64
private val analytics : AnalyticsService ,
61
65
private val mnemonicManager : MnemonicManager ,
66
+ private val mixpanelAPI : MixpanelAPI
62
67
) : CoroutineScope by CoroutineScope(Dispatchers .IO ) {
63
68
private var softLoginDisabled: Boolean = false
64
69
@@ -265,9 +270,21 @@ class AuthManager @Inject constructor(
265
270
}
266
271
.doOnSuccess {
267
272
taggedTrace(" account data fetched successfully" )
273
+
274
+ val distinctId = user?.userId?.description
275
+ val phoneNumber = phone?.phoneNumber?.makeE164()
276
+
268
277
if (! BuildConfig .DEBUG ) {
278
+ // BugSnag
269
279
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)
271
288
}
272
289
}
273
290
launch { savePrefs(phone!! , user!! ) }
0 commit comments