From de34f96aae3d785a03414ccc7a2b5fcf0f5902a0 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 30 Mar 2020 17:57:20 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../tangemtest/ucase/ui/ParamsViewModel.kt | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/ui/ParamsViewModel.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/ui/ParamsViewModel.kt index 1498352329..3253c67402 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/ui/ParamsViewModel.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/ui/ParamsViewModel.kt @@ -4,9 +4,13 @@ import androidx.annotation.UiThread import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider +import com.google.gson.Gson import com.google.gson.GsonBuilder +import com.google.gson.JsonPrimitive +import com.google.gson.JsonSerializer import com.tangem.CardManager import com.tangem.commands.Card +import com.tangem.common.extensions.toHexString import com.tangem.tangemtest._arch.SingleLiveEvent import com.tangem.tangemtest._arch.structure.Id import com.tangem.tangemtest._arch.structure.abstraction.Item @@ -72,7 +76,17 @@ class ParamsViewModel(val paramsManager: ParamsManager) : ViewModel() { internal class Notifier(private val vm: ParamsViewModel) { - private val gsonConverter = GsonBuilder().setPrettyPrinting().create() + private val gsonConverter: Gson by lazy { createGson() } + + private fun createGson(): Gson { + val builder = GsonBuilder() + builder.registerTypeAdapter(ByteArray::class.java, JsonSerializer { src, typeOfSrc, context -> + JsonPrimitive(src.toHexString()) + }) + builder.setPrettyPrinting() + return builder.create() + } + private var notShowedError: TaskError? = null fun handleActionResult(response: TaskEvent<*>, list: List) { @@ -105,7 +119,6 @@ internal class Notifier(private val vm: ParamsViewModel) { } else -> vm.ldResponse.postValue(gsonConverter.toJson(event)) } - } private fun handleCompletionEvent(taskEvent: TaskEvent.Completion<*>) { @@ -129,6 +142,5 @@ internal class Notifier(private val vm: ParamsViewModel) { else -> notShowedError = taskEvent.error } } - } } \ No newline at end of file