Skip to content

Commit cce747a

Browse files
committed
chore: track tip card linkage
Signed-off-by: Brandon McAnsh <git@bmcreations.dev>
1 parent fcb492e commit cce747a

5 files changed

Lines changed: 14 additions & 7 deletions

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/util/DeeplinkHandler.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,17 @@ import android.content.Intent
55
import android.net.Uri
66
import androidx.core.net.toUri
77
import cafe.adriel.voyager.core.screen.Screen
8-
import com.getcode.model.BetaFlag
98
import com.getcode.model.PrefsBool
109
import com.getcode.models.DeepLinkRequest
11-
import com.getcode.models.encode
1210
import com.getcode.navigation.screens.HomeScreen
1311
import com.getcode.navigation.screens.LoginScreen
1412
import com.getcode.network.repository.BetaFlagsRepository
15-
import com.getcode.network.repository.encodeBase64
1613
import com.getcode.network.repository.urlDecode
17-
import com.getcode.ui.utils.getActivity
1814
import com.getcode.utils.TraceType
1915
import com.getcode.utils.base64EncodedData
2016
import com.getcode.utils.trace
2117
import dagger.hilt.android.qualifiers.ApplicationContext
2218
import kotlinx.coroutines.flow.MutableStateFlow
23-
import kotlinx.serialization.json.buildJsonObject
24-
import kotlinx.serialization.json.put
2519
import timber.log.Timber
2620
import javax.inject.Inject
2721
import javax.inject.Singleton

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)