Updated on 2026-08-14
This commit is contained in:
parent
1b2c087d08
commit
e4ff41dc50
4 changed files with 29 additions and 3 deletions
|
|
@ -1,5 +1,7 @@
|
||||||
package com.tangem.tap.common.analytics.events
|
package com.tangem.tap.common.analytics.events
|
||||||
|
|
||||||
|
import com.tangem.tap.features.details.redux.SecurityOption
|
||||||
|
|
||||||
sealed class AnalyticsParam {
|
sealed class AnalyticsParam {
|
||||||
|
|
||||||
sealed class CurrencyType(val value: String) {
|
sealed class CurrencyType(val value: String) {
|
||||||
|
|
@ -39,6 +41,14 @@ sealed class AnalyticsParam {
|
||||||
object AccessCode : SecurityMode("Access Code")
|
object AccessCode : SecurityMode("Access Code")
|
||||||
object Passcode : SecurityMode("Passcode")
|
object Passcode : SecurityMode("Passcode")
|
||||||
object LongTap : SecurityMode("Long Tap")
|
object LongTap : SecurityMode("Long Tap")
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun from(option: SecurityOption): SecurityMode = when(option){
|
||||||
|
SecurityOption.AccessCode -> AccessCode
|
||||||
|
SecurityOption.PassCode -> Passcode
|
||||||
|
SecurityOption.LongTap -> LongTap
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object Key {
|
companion object Key {
|
||||||
|
|
|
||||||
|
|
@ -35,12 +35,12 @@ sealed class Settings(
|
||||||
class UserCodeChanged : CardSettings("User Code Changed")
|
class UserCodeChanged : CardSettings("User Code Changed")
|
||||||
class ButtonChangeSecurityMode : CardSettings("Button - Change Security Mode")
|
class ButtonChangeSecurityMode : CardSettings("Button - Change Security Mode")
|
||||||
|
|
||||||
sealed class ButtonChangeUserCode(type: AnalyticsParam.UserCode) : CardSettings(
|
class ButtonChangeUserCode(type: AnalyticsParam.UserCode) : CardSettings(
|
||||||
event = "Button - Change User Code",
|
event = "Button - Change User Code",
|
||||||
params = mapOf("Type" to type.value),
|
params = mapOf("Type" to type.value),
|
||||||
)
|
)
|
||||||
|
|
||||||
sealed class SecurityModeChanged(mode: AnalyticsParam.SecurityMode) : CardSettings(
|
class SecurityModeChanged(mode: AnalyticsParam.SecurityMode) : CardSettings(
|
||||||
event = "Security Mode Changed",
|
event = "Security Mode Changed",
|
||||||
params = mapOf("Mode" to mode.value),
|
params = mapOf("Mode" to mode.value),
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ import com.tangem.domain.common.TapWorkarounds.isTangemTwins
|
||||||
import com.tangem.tap.common.analytics.Analytics
|
import com.tangem.tap.common.analytics.Analytics
|
||||||
import com.tangem.tap.common.analytics.AnalyticsAnOld
|
import com.tangem.tap.common.analytics.AnalyticsAnOld
|
||||||
import com.tangem.tap.common.analytics.AnalyticsParamAnOld
|
import com.tangem.tap.common.analytics.AnalyticsParamAnOld
|
||||||
|
import com.tangem.tap.common.analytics.events.AnalyticsParam
|
||||||
|
import com.tangem.tap.common.analytics.events.Settings
|
||||||
import com.tangem.tap.common.extensions.dispatchNotification
|
import com.tangem.tap.common.extensions.dispatchNotification
|
||||||
import com.tangem.tap.common.extensions.dispatchOnMain
|
import com.tangem.tap.common.extensions.dispatchOnMain
|
||||||
import com.tangem.tap.common.redux.AppState
|
import com.tangem.tap.common.redux.AppState
|
||||||
|
|
@ -107,6 +109,7 @@ class DetailsMiddleware {
|
||||||
val result = tangemSdkManager.resetToFactorySettings(card)
|
val result = tangemSdkManager.resetToFactorySettings(card)
|
||||||
when (result) {
|
when (result) {
|
||||||
is CompletionResult.Success -> {
|
is CompletionResult.Success -> {
|
||||||
|
Analytics.send(Settings.CardSettings.FactoryResetFinished())
|
||||||
store.dispatchOnMain(NavigationAction.PopBackTo(AppScreen.Home))
|
store.dispatchOnMain(NavigationAction.PopBackTo(AppScreen.Home))
|
||||||
}
|
}
|
||||||
is CompletionResult.Failure -> {
|
is CompletionResult.Failure -> {
|
||||||
|
|
@ -133,6 +136,10 @@ class DetailsMiddleware {
|
||||||
is DetailsAction.ManageSecurity.OpenSecurity -> {
|
is DetailsAction.ManageSecurity.OpenSecurity -> {
|
||||||
store.dispatch(NavigationAction.NavigateTo(AppScreen.DetailsSecurity))
|
store.dispatch(NavigationAction.NavigateTo(AppScreen.DetailsSecurity))
|
||||||
}
|
}
|
||||||
|
is DetailsAction.ManageSecurity.SelectOption -> {
|
||||||
|
val modeParam = AnalyticsParam.SecurityMode.from(action.option)
|
||||||
|
Analytics.send(Settings.CardSettings.SecurityModeChanged(modeParam))
|
||||||
|
}
|
||||||
is DetailsAction.ManageSecurity.SaveChanges -> {
|
is DetailsAction.ManageSecurity.SaveChanges -> {
|
||||||
val cardId = store.state.detailsState.scanResponse?.card?.cardId
|
val cardId = store.state.detailsState.scanResponse?.card?.cardId
|
||||||
val selectedOption =
|
val selectedOption =
|
||||||
|
|
@ -176,7 +183,10 @@ class DetailsMiddleware {
|
||||||
is DetailsAction.ManageSecurity.ChangeAccessCode -> {
|
is DetailsAction.ManageSecurity.ChangeAccessCode -> {
|
||||||
val card = store.state.detailsState.cardSettingsState?.card ?: return
|
val card = store.state.detailsState.cardSettingsState?.card ?: return
|
||||||
scope.launch {
|
scope.launch {
|
||||||
tangemSdkManager.setAccessCode(card.cardId)
|
when(tangemSdkManager.setAccessCode(card.cardId)){
|
||||||
|
is CompletionResult.Success -> Analytics.send(Settings.CardSettings.UserCodeChanged())
|
||||||
|
is CompletionResult.Failure -> {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else -> { /* no-op */
|
else -> { /* no-op */
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,9 @@ package com.tangem.tap.features.details.ui.cardsettings
|
||||||
|
|
||||||
import com.tangem.domain.common.TapWorkarounds.isTangemTwins
|
import com.tangem.domain.common.TapWorkarounds.isTangemTwins
|
||||||
import com.tangem.domain.common.getTwinCardIdForUser
|
import com.tangem.domain.common.getTwinCardIdForUser
|
||||||
|
import com.tangem.tap.common.analytics.Analytics
|
||||||
|
import com.tangem.tap.common.analytics.events.AnalyticsParam
|
||||||
|
import com.tangem.tap.common.analytics.events.Settings
|
||||||
import com.tangem.tap.common.redux.AppState
|
import com.tangem.tap.common.redux.AppState
|
||||||
import com.tangem.tap.features.details.redux.CardSettingsState
|
import com.tangem.tap.features.details.redux.CardSettingsState
|
||||||
import com.tangem.tap.features.details.redux.DetailsAction
|
import com.tangem.tap.features.details.redux.DetailsAction
|
||||||
|
|
@ -59,12 +62,15 @@ class CardSettingsViewModel(private val store: Store<AppState>) {
|
||||||
private fun handleClickingItem(item: CardInfo) {
|
private fun handleClickingItem(item: CardInfo) {
|
||||||
when (item) {
|
when (item) {
|
||||||
is CardInfo.ChangeAccessCode -> {
|
is CardInfo.ChangeAccessCode -> {
|
||||||
|
Analytics.send(Settings.CardSettings.ButtonChangeUserCode(AnalyticsParam.UserCode.AccessCode))
|
||||||
store.dispatch(DetailsAction.ManageSecurity.ChangeAccessCode)
|
store.dispatch(DetailsAction.ManageSecurity.ChangeAccessCode)
|
||||||
}
|
}
|
||||||
is CardInfo.ResetToFactorySettings -> {
|
is CardInfo.ResetToFactorySettings -> {
|
||||||
|
Analytics.send(Settings.CardSettings.ButtonFactoryReset())
|
||||||
store.dispatch(DetailsAction.ResetToFactory.Start)
|
store.dispatch(DetailsAction.ResetToFactory.Start)
|
||||||
}
|
}
|
||||||
is CardInfo.SecurityMode -> {
|
is CardInfo.SecurityMode -> {
|
||||||
|
Analytics.send(Settings.CardSettings.ButtonChangeSecurityMode())
|
||||||
store.dispatch(DetailsAction.ManageSecurity.OpenSecurity)
|
store.dispatch(DetailsAction.ManageSecurity.OpenSecurity)
|
||||||
}
|
}
|
||||||
else -> {}
|
else -> {}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue