Updated on 2026-08-14

This commit is contained in:
Tangem 2022-09-15 20:36:34 +03:00
parent fa75773471
commit 2c90913754
5 changed files with 21 additions and 60 deletions

View file

@ -11,6 +11,7 @@ import com.tangem.Log
import com.tangem.LogFormat
import com.tangem.blockchain.network.BlockchainSdkRetrofitBuilder
import com.tangem.domain.DomainLayer
import com.tangem.domain.common.LogConfig
import com.tangem.network.common.MoshiConverter
import com.tangem.tap.common.analytics.GlobalAnalyticsHandler
import com.tangem.tap.common.feedback.AdditionalFeedbackInfo
@ -75,8 +76,7 @@ class TapApplication : Application(), ImageLoaderFactory {
initFeedbackManager()
loadConfigs()
BlockchainSdkRetrofitBuilder.enableNetworkLogging =
store.state.domainState.globalState.logConfig.network.blockchainSdkNetwork
BlockchainSdkRetrofitBuilder.enableNetworkLogging = LogConfig.network.blockchainSdkNetwork
initAppsFlyer()
}
@ -84,7 +84,7 @@ class TapApplication : Application(), ImageLoaderFactory {
override fun newImageLoader(): ImageLoader {
return createCoilImageLoader(
context = this,
logEnabled = store.state.domainState.globalState.logConfig.imageLoader
logEnabled = LogConfig.imageLoader
)
}
@ -135,7 +135,7 @@ class TapApplication : Application(), ImageLoaderFactory {
infoHolder = infoHolder,
logCollector = logWriter,
preferencesStorage = preferencesStorage,
logEnabled = store.state.domainState.globalState.logConfig.zendesk,
logEnabled = LogConfig.zendesk,
),
),
)

View file

@ -1,6 +1,6 @@
package com.tangem.tap.common.redux
import com.tangem.tap.store
import com.tangem.domain.common.LogConfig
import org.rekotlin.Middleware
import timber.log.Timber
@ -10,7 +10,7 @@ import timber.log.Timber
val logMiddleware: Middleware<AppState> = { dispatch, appState ->
{ nextDispatch ->
{ action ->
if (store.state.domainState.globalState.logConfig.storeAction) {
if (LogConfig.storeAction) {
Timber.d("Dispatch action: $action")
}
nextDispatch(action)

View file

@ -5,6 +5,7 @@ import com.tangem.common.core.TangemSdkError
import com.tangem.common.extensions.guard
import com.tangem.common.extensions.ifNotNull
import com.tangem.common.services.Result
import com.tangem.domain.common.LogConfig
import com.tangem.domain.common.extensions.withMainContext
import com.tangem.tap.common.extensions.dispatchDebugErrorNotification
import com.tangem.tap.common.extensions.dispatchDialogShow
@ -98,7 +99,6 @@ private fun handleAction(action: Action, appState: () -> AppState?, dispatch: Di
is GlobalAction.ExchangeManager.Init -> {
val appStateSafe = appState() ?: return
val config = appStateSafe.globalState.configManager?.config
val logConfig = appStateSafe.domainState.globalState.logConfig
ifNotNull(
config?.mercuryoWidgetId,
config?.mercuryoSecret,
@ -110,12 +110,12 @@ private fun handleAction(action: Action, appState: () -> AppState?, dispatch: Di
apiVersion = MercuryoApi.API_VERSION,
mercuryoWidgetId = mercuryoWidgetId,
secret = mercuryoSecret,
logEnabled = logConfig.network.mercuryoService,
logEnabled = LogConfig.network.mercuryoService,
)
val sellService = MoonPayService(
apiKey = moonPayKey,
secretKey = moonPaySecretKey,
logEnabled = logConfig.network.moonPayService,
logEnabled = LogConfig.network.moonPayService,
)
val cardProvider = { store.state.globalState.scanResponse?.card }

View file

@ -1,51 +1,15 @@
package com.tangem.domain.common
import com.tangem.domain.features.BuildConfig
data class LogConfig(
val imageLoader: Boolean,
val storeAction: Boolean,
val zendesk: Boolean,
val network: NetworkLogConfig,
) {
companion object {
fun buildBased(): LogConfig = LogConfig(
imageLoader = BuildConfig.DEBUG,
storeAction = BuildConfig.DEBUG,
zendesk = BuildConfig.DEBUG,
network = NetworkLogConfig.buildBased(),
)
fun custom(): LogConfig = LogConfig(
imageLoader = false,
storeAction = false,
zendesk = false,
network = NetworkLogConfig.custom(),
)
}
object LogConfig {
const val imageLoader: Boolean = false
const val storeAction: Boolean = false
const val zendesk: Boolean = false
val network: NetworkLogConfig = NetworkLogConfig
}
data class NetworkLogConfig(
val mercuryoService: Boolean,
val moonPayService: Boolean,
val tangemTechService: Boolean,
val blockchainSdkNetwork: Boolean,
) {
companion object {
fun buildBased(): NetworkLogConfig = NetworkLogConfig(
mercuryoService = BuildConfig.DEBUG,
moonPayService = BuildConfig.DEBUG,
tangemTechService = BuildConfig.DEBUG,
blockchainSdkNetwork = BuildConfig.DEBUG,
)
fun custom(): NetworkLogConfig = NetworkLogConfig(
mercuryoService = false,
moonPayService = false,
tangemTechService = false,
blockchainSdkNetwork = true,
)
}
object NetworkLogConfig {
const val mercuryoService: Boolean = false
const val moonPayService: Boolean = false
const val tangemTechService: Boolean = false
const val blockchainSdkNetwork: Boolean = false
}

View file

@ -2,7 +2,6 @@ package com.tangem.domain.redux.global
import com.tangem.domain.DomainDialog
import com.tangem.domain.common.LogConfig
import com.tangem.domain.common.NetworkLogConfig
import com.tangem.domain.common.ScanResponse
import com.tangem.network.api.tangemTech.TangemTechService
@ -14,12 +13,10 @@ data class DomainGlobalState(
// It updates on GlobalAction.SaveScanNoteResponse -> DomainGlobalAction.SaveScanNoteResponse(scanResponse)
val scanResponse: ScanResponse? = null,
//
val logConfig: LogConfig = LogConfig.buildBased(),
val networkServices: NetworkServices = NetworkServices(logConfig.network),
val networkServices: NetworkServices = NetworkServices(),
val dialog: DomainDialog? = null,
)
data class NetworkServices(
val networkLogConfig: NetworkLogConfig,
val tangemTechService: TangemTechService = TangemTechService(networkLogConfig.tangemTechService)
val tangemTechService: TangemTechService = TangemTechService(LogConfig.network.tangemTechService)
)