From 5fb149c018ddac6f7913146cf9a5fb965e2e9293 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 6 Jul 2022 00:29:38 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../main/java/com/tangem/tap/TapApplication.kt | 17 ++++++++++++++++- .../tap/features/feedback/FeedbackManager.kt | 18 ++++++++++++------ dependencies.gradle | 2 +- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/TapApplication.kt b/app/src/main/java/com/tangem/tap/TapApplication.kt index 2e6c7b534b..c84981fa22 100644 --- a/app/src/main/java/com/tangem/tap/TapApplication.kt +++ b/app/src/main/java/com/tangem/tap/TapApplication.kt @@ -8,6 +8,7 @@ import com.google.firebase.ktx.Firebase import com.google.firebase.remoteconfig.ktx.remoteConfig import com.google.firebase.remoteconfig.ktx.remoteConfigSettings import com.tangem.Log +import com.tangem.LogFormat import com.tangem.blockchain.network.BlockchainSdkRetrofitBuilder import com.tangem.domain.DomainLayer import com.tangem.network.common.MoshiConverter @@ -97,7 +98,21 @@ class TapApplication : Application(), ImageLoaderFactory { val infoHolder = AdditionalEmailInfo() infoHolder.setAppVersion(this) - val logWriter = TangemLogCollector() + val logLevels = listOf( + Log.Level.ApduCommand, + Log.Level.Apdu, + Log.Level.Tlv, + Log.Level.Nfc, + Log.Level.Command, + Log.Level.Session, + Log.Level.View, + Log.Level.Network, + Log.Level.Error, + ) + val logWriter = TangemLogCollector( + levels = logLevels, + messageFormatter = LogFormat.StairsFormatter() + ) Log.addLogger(logWriter) store.dispatch(GlobalAction.SetFeedbackManager(FeedbackManager(infoHolder, logWriter))) diff --git a/app/src/main/java/com/tangem/tap/features/feedback/FeedbackManager.kt b/app/src/main/java/com/tangem/tap/features/feedback/FeedbackManager.kt index ad5a091c99..d0597bc373 100644 --- a/app/src/main/java/com/tangem/tap/features/feedback/FeedbackManager.kt +++ b/app/src/main/java/com/tangem/tap/features/feedback/FeedbackManager.kt @@ -5,6 +5,7 @@ import android.content.Context import android.content.pm.PackageManager import android.os.Build import com.tangem.Log +import com.tangem.LogFormat import com.tangem.TangemSdkLogger import com.tangem.blockchain.common.* import com.tangem.domain.common.ScanResponse @@ -81,23 +82,28 @@ class FeedbackManager( } } -class TangemLogCollector : TangemSdkLogger { +class TangemLogCollector( + private val levels: List, + private val messageFormatter: LogFormat +) : TangemSdkLogger { + private val dateFormatter = SimpleDateFormat("HH:mm:ss.SSS") private val logs = mutableListOf() private val mutex = Object() override fun log(message: () -> String, level: Log.Level) { - val time = dateFormatter.format(Date()) + if (!levels.contains(level)) return + synchronized(mutex) { - logs.add("$time: ${message()}\n") + val formattedMessage = messageFormatter.format(message, level) + val logMessage = "${dateFormatter.format(Date())}: $formattedMessage" + logs.add("$logMessage\n") } } fun getLogs(): List = synchronized(mutex) { logs.toList() } - fun clearLogs() { - synchronized(mutex) { logs.clear() } - } + fun clearLogs() = synchronized(mutex) { logs.clear() } } class AdditionalEmailInfo { diff --git a/dependencies.gradle b/dependencies.gradle index 45200c5dcf..ac02ffad75 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,7 +1,7 @@ ext.versions = [ kotlin : '1.6.10', build_gradle : '7.1.3', - tamgem_card_sdk : 'develop-154', + tamgem_card_sdk : 'develop-157', tamgem_blockchain_sdk: 'develop-93', ]