From 0308841aa07b9e6defc78b16feda13b4596f15fb Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 7 Jul 2023 18:39:41 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../learn2earn/analytics/Learn2earnEvents.kt | 8 ++--- .../domain/DefaultLearn2earnInteractor.kt | 30 +++++++++---------- .../learn2earn/domain/WebViewUriParser.kt | 6 ++-- .../domain/api/WebViewResultHandler.kt | 4 +-- .../presentation/Learn2earnViewModel.kt | 9 +++--- 5 files changed, 28 insertions(+), 29 deletions(-) diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/analytics/Learn2earnEvents.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/analytics/Learn2earnEvents.kt index e1fb409916..164fa4e793 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/analytics/Learn2earnEvents.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/analytics/Learn2earnEvents.kt @@ -2,7 +2,7 @@ package com.tangem.feature.learn2earn.analytics import com.tangem.core.analytics.AnalyticsEvent -sealed class Learn2earnEvents( +internal sealed class Learn2earnEvents( category: String, event: String, params: Map = mapOf(), @@ -58,10 +58,10 @@ sealed class Learn2earnEvents( } } -sealed class AnalyticsParam { +internal sealed class AnalyticsParam { sealed class ClientType(val value: String) { - object New : ClientType("New") - object Old : ClientType("Old") + class New : ClientType("New") + class Old : ClientType("Old") } companion object Key { diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt index 4536ec713f..402f88ee82 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt @@ -205,10 +205,10 @@ internal class DefaultLearn2earnInteractor( WebViewResult.ReadyForAward -> { updateUserData { it.copy(isRegisteredInPromotion = true) } } - is WebViewResult.AnalyticsEvent -> { + is WebViewResult.Learn2earnAnalyticsEvent -> { analyticsEventHandler.send(result.event) } - else -> Unit + WebViewResult.Empty -> Unit } webViewResultHandler?.handleResult(result) @@ -286,21 +286,21 @@ internal class DefaultLearn2earnInteractor( repository.updateUserData(this) } } -} -private fun Promotion.PromotionInfo.getData(promoCode: String?): PromotionInfoResponse.Data { - return if (promoCode == null) { - newCard - } else { - oldCard + private fun Promotion.PromotionInfo.getData(promoCode: String?): PromotionInfoResponse.Data { + return if (promoCode == null) { + newCard + } else { + oldCard + } } -} -private fun WebViewResult.toWebViewAction(): WebViewAction { - return when (this) { - WebViewResult.Empty -> WebViewAction.PROCEED - WebViewResult.ReadyForAward -> WebViewAction.FINISH_SESSION - is WebViewResult.AnalyticsEvent -> WebViewAction.NOTHING - is WebViewResult.PromoCode -> WebViewAction.NOTHING + private fun WebViewResult.toWebViewAction(): WebViewAction { + return when (this) { + WebViewResult.Empty -> WebViewAction.PROCEED + WebViewResult.ReadyForAward -> WebViewAction.FINISH_SESSION + is WebViewResult.Learn2earnAnalyticsEvent -> WebViewAction.NOTHING + is WebViewResult.PromoCode -> WebViewAction.NOTHING + } } } \ No newline at end of file diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/WebViewUriParser.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/WebViewUriParser.kt index 4d13b73fa5..f8d1d18e22 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/WebViewUriParser.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/WebViewUriParser.kt @@ -19,7 +19,7 @@ internal class WebViewUriParser( if (event == null) { WebViewResult.Empty } else { - WebViewResult.AnalyticsEvent(event) + WebViewResult.Learn2earnAnalyticsEvent(event) } } isPromoCodeRedirect(uri) -> { @@ -68,8 +68,8 @@ internal class WebViewUriParser( val analyticsEvent = when (event) { EVENT_PROMO_BUY -> PromoScreen.ButtonBuy() - EVENT_PROMO_SUCCESS_NEW_USER -> PromoScreen.SuccessScreenOpened(AnalyticsParam.ClientType.New) - EVENT_PROMO_SUCCESS_OLD_USER -> PromoScreen.SuccessScreenOpened(AnalyticsParam.ClientType.Old) + EVENT_PROMO_SUCCESS_NEW_USER -> PromoScreen.SuccessScreenOpened(AnalyticsParam.ClientType.New()) + EVENT_PROMO_SUCCESS_OLD_USER -> PromoScreen.SuccessScreenOpened(AnalyticsParam.ClientType.Old()) else -> null } return analyticsEvent diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/api/WebViewResultHandler.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/api/WebViewResultHandler.kt index a3458c09e4..6b7c851a69 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/api/WebViewResultHandler.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/api/WebViewResultHandler.kt @@ -1,6 +1,6 @@ package com.tangem.feature.learn2earn.domain.api -import com.tangem.feature.learn2earn.analytics.Learn2earnEvents +import com.tangem.core.analytics.AnalyticsEvent /** * Handler that helps determine a result of the Learn2earnWebViewActivity webView actions. @@ -15,5 +15,5 @@ sealed class WebViewResult { object Empty : WebViewResult() data class PromoCode(val promoCode: String) : WebViewResult() object ReadyForAward : WebViewResult() - data class AnalyticsEvent(val event: Learn2earnEvents) : WebViewResult() + data class Learn2earnAnalyticsEvent(val event: AnalyticsEvent) : WebViewResult() } \ No newline at end of file diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/Learn2earnViewModel.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/Learn2earnViewModel.kt index 217f7b2f6d..8c3cbfb221 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/Learn2earnViewModel.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/Learn2earnViewModel.kt @@ -73,13 +73,13 @@ class Learn2earnViewModel @Inject constructor( private fun onButtonMainClick() { if (!interactor.isUserHadPromoCode() && !interactor.isUserRegisteredInPromotion()) { - analytics.send(Learn2earnEvents.MainScreen.NoticeLear2earn(AnalyticsParam.ClientType.New)) + analytics.send(Learn2earnEvents.MainScreen.NoticeLear2earn(AnalyticsParam.ClientType.New())) subscribeToWebViewResultEvents() router.openWebView(interactor.buildUriForOldUser(), interactor.getBasicAuthHeaders()) return } - analytics.send(Learn2earnEvents.MainScreen.NoticeLear2earn(AnalyticsParam.ClientType.Old)) + analytics.send(Learn2earnEvents.MainScreen.NoticeLear2earn(AnalyticsParam.ClientType.Old())) viewModelScope.launch(dispatchers.io) { updateUi { uiState.updateProgress(showProgress = true) } @@ -172,9 +172,8 @@ class Learn2earnViewModel @Inject constructor( interactor.webViewResultHandler = object : WebViewResultHandler { override fun handleResult(result: WebViewResult) { interactor.webViewResultHandler = null - when (result) { - WebViewResult.ReadyForAward -> updateMainScreenViews() - else -> Unit + if (result is WebViewResult.ReadyForAward) { + updateMainScreenViews() } } }