Updated on 2026-08-14

This commit is contained in:
Tangem 2024-07-18 20:58:30 +05:00
parent 63a8133bd7
commit 13bd274bce
6 changed files with 59 additions and 3 deletions

View file

@ -1,8 +1,11 @@
package com.tangem.feature.wallet.presentation.wallet.viewmodels.intents
import com.tangem.core.analytics.api.AnalyticsEventHandler
import com.tangem.core.analytics.models.AnalyticsParam
import com.tangem.domain.settings.DelayPermissionRequestUseCase
import com.tangem.domain.settings.NeverRequestPermissionUseCase
import com.tangem.domain.settings.SetFirstTimeAskingPermissionUseCase
import com.tangem.features.pushnotifications.api.analytics.PushNotificationAnalyticEvents
import com.tangem.features.pushnotifications.api.utils.PUSH_PERMISSION
import dagger.hilt.android.scopes.ViewModelScoped
import kotlinx.coroutines.launch
@ -24,6 +27,7 @@ internal class WalletPushPermissionClickIntentsImplementor @Inject constructor(
private val setFirstTimeAskingPermissionUseCase: SetFirstTimeAskingPermissionUseCase,
private val neverRequestPermissionUseCase: NeverRequestPermissionUseCase,
private val delayPermissionRequestUseCase: DelayPermissionRequestUseCase,
private val analyticsEventHandler: AnalyticsEventHandler,
) : BaseWalletClickIntents(), WalletPushPermissionClickIntents {
override fun onRequestPushPermission() {
@ -34,17 +38,24 @@ internal class WalletPushPermissionClickIntentsImplementor @Inject constructor(
override fun onDelayAskPushPermission() {
viewModelScope.launch {
analyticsEventHandler.send(
PushNotificationAnalyticEvents.ButtonLater(AnalyticsParam.ScreensSources.Main),
)
delayPermissionRequestUseCase(PUSH_PERMISSION)
}
}
override fun onDenyPushPermission() {
analyticsEventHandler.send(PushNotificationAnalyticEvents.ButtonCancel)
viewModelScope.launch {
neverRequestPermissionUseCase(PUSH_PERMISSION)
}
}
override fun onAllowPushPermission() {
analyticsEventHandler.send(
PushNotificationAnalyticEvents.ButtonAllow(AnalyticsParam.ScreensSources.Main),
)
viewModelScope.launch {
neverRequestPermissionUseCase(PUSH_PERMISSION)
}