Skip to content

Commit 12513b5

Browse files
authored
Merge pull request #505 from code-payments/chore/track-tip-card-links
chore: track tip card linkage
2 parents f7115fb + cce747a commit 12513b5

4 files changed

Lines changed: 14 additions & 1 deletion

File tree

api/src/main/java/com/getcode/analytics/AnalyticsManager.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,10 @@ class AnalyticsManager @Inject constructor(
269269
)
270270
}
271271

272+
override fun tipCardLinked() {
273+
track(Name.TipCardLinked)
274+
}
275+
272276
override fun backgroundSwapInitiated() {
273277
track(Name.BackgroundSwap)
274278
}
@@ -319,6 +323,7 @@ class AnalyticsManager @Inject constructor(
319323
Login("Login"),
320324
CreateAccount("Create Account"),
321325
UnintentionalLogout("Unintentional Logout"),
326+
TipCardLinked("Tip Card Linked"),
322327

323328
//Bill
324329
Bill("Bill"),

api/src/main/java/com/getcode/analytics/AnalyticsService.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ interface AnalyticsService {
4545
fun withdrawal(amount: KinAmount, successful: Boolean)
4646

4747
fun tipCardShown(username: String)
48+
fun tipCardLinked()
4849

4950
fun backgroundSwapInitiated()
5051
fun unintentionalLogout()
@@ -93,6 +94,7 @@ class AnalyticsServiceNull : AnalyticsService {
9394
override fun upgradePrivacy(successful: Boolean, intentId: PublicKey, actionCount: Int) = Unit
9495
override fun onBillReceived() = Unit
9596
override fun tipCardShown(username: String) = Unit
97+
override fun tipCardLinked() = Unit
9698
override fun backgroundSwapInitiated() = Unit
9799
override fun unintentionalLogout() = Unit
98100
override fun appSettingToggled(setting: AppSetting, value: Boolean) = Unit

api/src/main/java/com/getcode/network/TipController.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.getcode.network
33
import androidx.lifecycle.Lifecycle
44
import androidx.lifecycle.LifecycleEventObserver
55
import androidx.lifecycle.LifecycleOwner
6+
import com.getcode.analytics.AnalyticsService
67
import com.getcode.manager.SessionManager
78
import com.getcode.model.CodePayload
89
import com.getcode.model.PrefsBool
@@ -11,6 +12,8 @@ import com.getcode.model.TipMetadata
1112
import com.getcode.model.TwitterUser
1213
import com.getcode.network.client.Client
1314
import com.getcode.network.client.fetchTwitterUser
15+
import com.getcode.network.repository.BetaFlagsRepository
16+
import com.getcode.network.repository.BetaOptions
1417
import com.getcode.network.repository.PrefRepository
1518
import com.getcode.network.repository.TwitterUserFetchError
1619
import com.getcode.network.repository.base58
@@ -24,6 +27,7 @@ import kotlinx.coroutines.flow.SharingStarted
2427
import kotlinx.coroutines.flow.StateFlow
2528
import kotlinx.coroutines.flow.combine
2629
import kotlinx.coroutines.flow.distinctUntilChanged
30+
import kotlinx.coroutines.flow.filter
2731
import kotlinx.coroutines.flow.filterNotNull
2832
import kotlinx.coroutines.flow.launchIn
2933
import kotlinx.coroutines.flow.map
@@ -44,6 +48,7 @@ typealias TipUser = Pair<String, CodePayload>
4448
@Singleton
4549
class TipController @Inject constructor(
4650
private val client: Client,
51+
betaFlags: BetaFlagsRepository,
4752
private val prefRepository: PrefRepository,
4853
): LifecycleEventObserver {
4954

@@ -70,7 +75,7 @@ class TipController @Inject constructor(
7075
val showTwitterSplat: Flow<Boolean> =
7176
combine(
7277
connectedAccount,
73-
prefRepository.observeOrDefault(PrefsBool.TIPS_ENABLED, false),
78+
betaFlags.observe().map { it.tipsEnabled },
7479
prefRepository.observeOrDefault(PrefsBool.SEEN_TIP_CARD, false)
7580
) { connected, tipsEnabled, seen ->
7681
connected != null && !seen && tipsEnabled

app/src/main/java/com/getcode/view/main/home/HomeViewModel.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ class HomeViewModel @Inject constructor(
242242
.onEach {
243243
when (it) {
244244
is TwitterUser -> {
245+
analytics.tipCardLinked()
245246
TopBarManager.showMessage(
246247
topBarMessage = TopBarManager.TopBarMessage(
247248
type = TopBarManager.TopBarMessageType.SUCCESS,

0 commit comments

Comments
 (0)