Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions api/src/main/java/com/getcode/analytics/AnalyticsManager.kt
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,10 @@ class AnalyticsManager @Inject constructor(
)
}

override fun tipCardLinked() {
track(Name.TipCardLinked)
}

override fun backgroundSwapInitiated() {
track(Name.BackgroundSwap)
}
Expand Down Expand Up @@ -319,6 +323,7 @@ class AnalyticsManager @Inject constructor(
Login("Login"),
CreateAccount("Create Account"),
UnintentionalLogout("Unintentional Logout"),
TipCardLinked("Tip Card Linked"),

//Bill
Bill("Bill"),
Expand Down
2 changes: 2 additions & 0 deletions api/src/main/java/com/getcode/analytics/AnalyticsService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ interface AnalyticsService {
fun withdrawal(amount: KinAmount, successful: Boolean)

fun tipCardShown(username: String)
fun tipCardLinked()

fun backgroundSwapInitiated()
fun unintentionalLogout()
Expand Down Expand Up @@ -93,6 +94,7 @@ class AnalyticsServiceNull : AnalyticsService {
override fun upgradePrivacy(successful: Boolean, intentId: PublicKey, actionCount: Int) = Unit
override fun onBillReceived() = Unit
override fun tipCardShown(username: String) = Unit
override fun tipCardLinked() = Unit
override fun backgroundSwapInitiated() = Unit
override fun unintentionalLogout() = Unit
override fun appSettingToggled(setting: AppSetting, value: Boolean) = Unit
Expand Down
7 changes: 6 additions & 1 deletion api/src/main/java/com/getcode/network/TipController.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.getcode.network
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.LifecycleOwner
import com.getcode.analytics.AnalyticsService
import com.getcode.manager.SessionManager
import com.getcode.model.CodePayload
import com.getcode.model.PrefsBool
Expand All @@ -11,6 +12,8 @@ import com.getcode.model.TipMetadata
import com.getcode.model.TwitterUser
import com.getcode.network.client.Client
import com.getcode.network.client.fetchTwitterUser
import com.getcode.network.repository.BetaFlagsRepository
import com.getcode.network.repository.BetaOptions
import com.getcode.network.repository.PrefRepository
import com.getcode.network.repository.TwitterUserFetchError
import com.getcode.network.repository.base58
Expand All @@ -24,6 +27,7 @@ import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.filterNotNull
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.map
Expand All @@ -44,6 +48,7 @@ typealias TipUser = Pair<String, CodePayload>
@Singleton
class TipController @Inject constructor(
private val client: Client,
betaFlags: BetaFlagsRepository,
private val prefRepository: PrefRepository,
): LifecycleEventObserver {

Expand All @@ -70,7 +75,7 @@ class TipController @Inject constructor(
val showTwitterSplat: Flow<Boolean> =
combine(
connectedAccount,
prefRepository.observeOrDefault(PrefsBool.TIPS_ENABLED, false),
betaFlags.observe().map { it.tipsEnabled },
prefRepository.observeOrDefault(PrefsBool.SEEN_TIP_CARD, false)
) { connected, tipsEnabled, seen ->
connected != null && !seen && tipsEnabled
Expand Down
6 changes: 0 additions & 6 deletions app/src/main/java/com/getcode/util/DeeplinkHandler.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,17 @@ import android.content.Intent
import android.net.Uri
import androidx.core.net.toUri
import cafe.adriel.voyager.core.screen.Screen
import com.getcode.model.BetaFlag
import com.getcode.model.PrefsBool
import com.getcode.models.DeepLinkRequest
import com.getcode.models.encode
import com.getcode.navigation.screens.HomeScreen
import com.getcode.navigation.screens.LoginScreen
import com.getcode.network.repository.BetaFlagsRepository
import com.getcode.network.repository.encodeBase64
import com.getcode.network.repository.urlDecode
import com.getcode.ui.utils.getActivity
import com.getcode.utils.TraceType
import com.getcode.utils.base64EncodedData
import com.getcode.utils.trace
import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.serialization.json.buildJsonObject
import kotlinx.serialization.json.put
import timber.log.Timber
import javax.inject.Inject
import javax.inject.Singleton
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,7 @@ class HomeViewModel @Inject constructor(
.onEach {
when (it) {
is TwitterUser -> {
analytics.tipCardLinked()
TopBarManager.showMessage(
topBarMessage = TopBarManager.TopBarMessage(
type = TopBarManager.TopBarMessageType.SUCCESS,
Expand Down