From bf7c1f2f62bd67fef4afd0321efdbc8c0fe40d2d Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 26 Nov 2025 11:57:04 +0400 Subject: [PATCH] Updated on 2026-08-14 --- common/test/detekt-baseline-debug.xml | 8 -------- .../test/domain/card/MockScanResponseFactory.kt | 16 +++++++--------- core/ab-tests/detekt-baseline-debug.xml | 8 -------- .../manager/impl/AmplitudeABTestsManager.kt | 4 ++-- data/express/detekt-baseline-debug.xml | 8 -------- .../data/express/DefaultExpressRepository.kt | 6 +++--- .../express/DefaultExpressServiceFetcher.kt | 2 +- detekt_baseline_report.txt | 17 ++++++----------- domain/nft/detekt-baseline-debug.xml | 8 -------- .../nft/FilterNFTAvailableNetworksUseCase.kt | 6 +++--- .../domain/nft/analytics/NFTAnalyticsEvent.kt | 5 ++--- features/kyc/impl/detekt-baseline-debug.xml | 7 ------- .../tangem/features/kyc/DefaultKycComponent.kt | 2 +- 13 files changed, 25 insertions(+), 72 deletions(-) delete mode 100644 common/test/detekt-baseline-debug.xml delete mode 100644 core/ab-tests/detekt-baseline-debug.xml delete mode 100644 data/express/detekt-baseline-debug.xml delete mode 100644 domain/nft/detekt-baseline-debug.xml delete mode 100644 features/kyc/impl/detekt-baseline-debug.xml diff --git a/common/test/detekt-baseline-debug.xml b/common/test/detekt-baseline-debug.xml deleted file mode 100644 index 27ff65dbe7..0000000000 --- a/common/test/detekt-baseline-debug.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - CastNullableToNonNullableType:MockScanResponseFactory.kt$MockScanResponseFactory$as - MultilineLambdaItParameter:MockScanResponseFactory.kt$MockScanResponseFactory${ CardDTO.Wallet( CardWallet( publicKey = it.name.toByteArray(), // IMPORTANT: public key must equal to curve name chainCode = null, curve = it, settings = createSettings(), totalSignedHashes = null, remainingSignatures = null, index = 0, isImported = true, hasBackup = true, derivedKeys = emptyMap(), ), ) } - - diff --git a/common/test/src/main/java/com/tangem/common/test/domain/card/MockScanResponseFactory.kt b/common/test/src/main/java/com/tangem/common/test/domain/card/MockScanResponseFactory.kt index 0b04f1cf91..a4a646a6ab 100644 --- a/common/test/src/main/java/com/tangem/common/test/domain/card/MockScanResponseFactory.kt +++ b/common/test/src/main/java/com/tangem/common/test/domain/card/MockScanResponseFactory.kt @@ -2,11 +2,7 @@ package com.tangem.common.test.domain.card import com.tangem.common.card.CardWallet import com.tangem.common.card.FirmwareVersion -import com.tangem.domain.card.configs.CardConfig -import com.tangem.domain.card.configs.EdSingleCurrencyCardConfig -import com.tangem.domain.card.configs.GenericCardConfig -import com.tangem.domain.card.configs.MultiWalletCardConfig -import com.tangem.domain.card.configs.Wallet2CardConfig +import com.tangem.domain.card.configs.* import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.KeyWalletPublicKey import com.tangem.domain.models.scan.ProductType @@ -73,12 +69,12 @@ object MockScanResponseFactory { isAccessCodeSet = false, isPasscodeSet = null, supportedCurves = emptyList(), - wallets = cardConfig.mandatoryCurves.map { + wallets = cardConfig.mandatoryCurves.map { curve -> CardDTO.Wallet( CardWallet( - publicKey = it.name.toByteArray(), // IMPORTANT: public key must equal to curve name + publicKey = curve.name.toByteArray(), // IMPORTANT: public key must equal to curve name chainCode = null, - curve = it, + curve = curve, settings = createSettings(), totalSignedHashes = null, remainingSignatures = null, @@ -106,6 +102,8 @@ object MockScanResponseFactory { private fun createSettings(): CardWallet.Settings { val constructor = CardWallet.Settings::class.java.declaredConstructors[0] constructor.isAccessible = true - return constructor.newInstance(false) as CardWallet.Settings + + val instance = constructor.newInstance(false) as? CardWallet.Settings + return requireNotNull(instance) } } \ No newline at end of file diff --git a/core/ab-tests/detekt-baseline-debug.xml b/core/ab-tests/detekt-baseline-debug.xml deleted file mode 100644 index d3bf1ceb5e..0000000000 --- a/core/ab-tests/detekt-baseline-debug.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - NullableToStringCall:AmplitudeABTestsManager.kt$AmplitudeABTestsManager$${variant.key} - NullableToStringCall:AmplitudeABTestsManager.kt$AmplitudeABTestsManager$${variant.payload} - - diff --git a/core/ab-tests/src/main/kotlin/com/tangem/core/abtests/manager/impl/AmplitudeABTestsManager.kt b/core/ab-tests/src/main/kotlin/com/tangem/core/abtests/manager/impl/AmplitudeABTestsManager.kt index b1af356975..d2b6dbf52c 100644 --- a/core/ab-tests/src/main/kotlin/com/tangem/core/abtests/manager/impl/AmplitudeABTestsManager.kt +++ b/core/ab-tests/src/main/kotlin/com/tangem/core/abtests/manager/impl/AmplitudeABTestsManager.kt @@ -80,8 +80,8 @@ internal class AmplitudeABTestsManager( allVariants.entries.forEachIndexed { index, (key, variant) -> Timber.d("[${index + 1}/${allVariants.size}] Key: $key") Timber.d(" → Value: ${variant.value ?: "null"}") - Timber.d(" → Payload: ${variant.payload}") - Timber.d(" → Key: ${variant.key}") + Timber.d(" → Payload: ${variant.payload ?: "null"}") + Timber.d(" → Key: ${variant.key ?: "null"}") Timber.d("-".repeat(SEPARATOR_LENGTH)) } } diff --git a/data/express/detekt-baseline-debug.xml b/data/express/detekt-baseline-debug.xml deleted file mode 100644 index 0be5181121..0000000000 --- a/data/express/detekt-baseline-debug.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IgnoredReturnValue:DefaultExpressServiceFetcher.kt$DefaultExpressServiceFetcher$put(key = userWalletId, value = default) - MultilineLambdaItParameter:DefaultExpressRepository.kt$DefaultExpressRepository${ Timber.w(it, "Unable to fetch express providers") throw it } - - diff --git a/data/express/src/main/java/com/tangem/data/express/DefaultExpressRepository.kt b/data/express/src/main/java/com/tangem/data/express/DefaultExpressRepository.kt index 7fecd6950c..31d7577acf 100644 --- a/data/express/src/main/java/com/tangem/data/express/DefaultExpressRepository.kt +++ b/data/express/src/main/java/com/tangem/data/express/DefaultExpressRepository.kt @@ -35,9 +35,9 @@ internal class DefaultExpressRepository( ).getOrThrow().map(ExpressProviderConverter()::convert) .filterIf(filterProviderTypes.isNotEmpty()) { it.type in filterProviderTypes } }, - onError = { - Timber.w(it, "Unable to fetch express providers") - throw it + onError = { error -> + Timber.w(error, "Unable to fetch express providers") + throw error }, ) } diff --git a/data/express/src/main/java/com/tangem/data/express/DefaultExpressServiceFetcher.kt b/data/express/src/main/java/com/tangem/data/express/DefaultExpressServiceFetcher.kt index 65e0556973..e794c648b0 100644 --- a/data/express/src/main/java/com/tangem/data/express/DefaultExpressServiceFetcher.kt +++ b/data/express/src/main/java/com/tangem/data/express/DefaultExpressServiceFetcher.kt @@ -104,7 +104,7 @@ internal class DefaultExpressServiceFetcher @Inject constructor( initializationStatuses.update { statuses -> statuses.toMutableMap().apply { - put(key = userWalletId, value = default) + this[userWalletId] = default } } diff --git a/detekt_baseline_report.txt b/detekt_baseline_report.txt index 5a6ea045d6..1f11fd1571 100644 --- a/detekt_baseline_report.txt +++ b/detekt_baseline_report.txt @@ -1,7 +1,7 @@ ========================================== Detekt Baseline Updater & Issue Counter ========================================== -Date: 2025-11-25 17:21:16 +Date: 2025-11-26 11:32:37 Step 1: Running detekt to check for new issues... @@ -17,13 +17,13 @@ Counting issues in baseline files... ========================================== Summary: - Total Issues: 1694 - Modules with Issues: 78 - Average Issues per Module: 21 + Total Issues: 1685 + Modules with Issues: 73 + Average Issues per Module: 23 Progress: - Fixed: 108 out of 1802 (5%) - Remaining: 1694 + Fixed: 117 out of 1802 (6%) + Remaining: 1685 ========================================== All Modules with Issues (sorted by count) @@ -104,9 +104,4 @@ features/stories/impl 2 features/create-wallet-selection/impl 2 domain/yield-supply 2 domain/swap 2 -domain/nft 2 -data/express 2 -core/ab-tests 2 -common/test 2 -features/kyc/impl 1 ──────────────────────────────────────────────────────────────── \ No newline at end of file diff --git a/domain/nft/detekt-baseline-debug.xml b/domain/nft/detekt-baseline-debug.xml deleted file mode 100644 index d57ec3f083..0000000000 --- a/domain/nft/detekt-baseline-debug.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - MultilineLambdaItParameter:FilterNFTAvailableNetworksUseCase.kt$FilterNFTAvailableNetworksUseCase${ it.name.contains(searchQuery, ignoreCase = true) || it.currencySymbol.contains(searchQuery, ignoreCase = true) } - UseEmptyCounterpart:NFTAnalyticsEvent.kt$NFTAnalyticsEvent$mapOf() - - diff --git a/domain/nft/src/main/kotlin/com/tangem/domain/nft/FilterNFTAvailableNetworksUseCase.kt b/domain/nft/src/main/kotlin/com/tangem/domain/nft/FilterNFTAvailableNetworksUseCase.kt index 2740d0e05f..f2028b738b 100644 --- a/domain/nft/src/main/kotlin/com/tangem/domain/nft/FilterNFTAvailableNetworksUseCase.kt +++ b/domain/nft/src/main/kotlin/com/tangem/domain/nft/FilterNFTAvailableNetworksUseCase.kt @@ -16,8 +16,8 @@ class FilterNFTAvailableNetworksUseCase( ) } - private fun List.filter(searchQuery: String) = filter { - it.name.contains(searchQuery, ignoreCase = true) || - it.currencySymbol.contains(searchQuery, ignoreCase = true) + private fun List.filter(searchQuery: String) = filter { network -> + network.name.contains(searchQuery, ignoreCase = true) || + network.currencySymbol.contains(searchQuery, ignoreCase = true) } } \ No newline at end of file diff --git a/domain/nft/src/main/kotlin/com/tangem/domain/nft/analytics/NFTAnalyticsEvent.kt b/domain/nft/src/main/kotlin/com/tangem/domain/nft/analytics/NFTAnalyticsEvent.kt index 9ee3357e17..7ccdadbd7d 100644 --- a/domain/nft/src/main/kotlin/com/tangem/domain/nft/analytics/NFTAnalyticsEvent.kt +++ b/domain/nft/src/main/kotlin/com/tangem/domain/nft/analytics/NFTAnalyticsEvent.kt @@ -2,16 +2,15 @@ package com.tangem.domain.nft.analytics import com.tangem.core.analytics.models.AnalyticsEvent import com.tangem.core.analytics.models.AnalyticsParam.Key.BLOCKCHAIN -import com.tangem.core.analytics.models.AnalyticsParam.Key.STANDARD import com.tangem.core.analytics.models.AnalyticsParam.Key.COLLECTIONS import com.tangem.core.analytics.models.AnalyticsParam.Key.NFT import com.tangem.core.analytics.models.AnalyticsParam.Key.NO_COLLECTION +import com.tangem.core.analytics.models.AnalyticsParam.Key.STANDARD import com.tangem.core.analytics.models.AnalyticsParam.Key.STATE -import kotlin.collections.buildMap sealed class NFTAnalyticsEvent( event: String, - params: Map = mapOf(), + params: Map = emptyMap(), ) : AnalyticsEvent( category = "NFT", event = event, diff --git a/features/kyc/impl/detekt-baseline-debug.xml b/features/kyc/impl/detekt-baseline-debug.xml deleted file mode 100644 index 65df7413d9..0000000000 --- a/features/kyc/impl/detekt-baseline-debug.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - UnnecessaryLet:DefaultKycComponent.kt$DefaultKycComponent$let { launchSdk(startInfo) } - - diff --git a/features/kyc/impl/src/main/kotlin/com/tangem/features/kyc/DefaultKycComponent.kt b/features/kyc/impl/src/main/kotlin/com/tangem/features/kyc/DefaultKycComponent.kt index 76713a61b2..ba9a4604c5 100644 --- a/features/kyc/impl/src/main/kotlin/com/tangem/features/kyc/DefaultKycComponent.kt +++ b/features/kyc/impl/src/main/kotlin/com/tangem/features/kyc/DefaultKycComponent.kt @@ -27,7 +27,7 @@ class DefaultKycComponent @AssistedInject constructor( init { componentScope.launch { model.uiState.drop(1).collectLatest { startInfo -> - startInfo?.let { launchSdk(startInfo) } + if (startInfo != null) launchSdk(startInfo) router.pop() } }