Updated on 2026-08-14

This commit is contained in:
Tangem 2021-09-06 16:58:56 +03:00
parent 4aa1a23229
commit db7709d866
6 changed files with 31 additions and 14 deletions

View file

@ -0,0 +1,16 @@
package com.tangem.tap.common.extensions
import android.content.Context
fun Context.readFile(fileName: String): String =
this.openFileInput(fileName).bufferedReader().readText()
fun Context.rewriteFile(content: String, fileName: String) {
this.openFileOutput(fileName, Context.MODE_PRIVATE).use {
it.write(content.toByteArray(), 0, content.length)
}
}
fun Context.readAssetAsString(fileName: String): String {
return this.assets.open("$fileName.json").bufferedReader().readText()
}

View file

@ -6,6 +6,7 @@ import com.google.firebase.remoteconfig.ktx.remoteConfig
import com.squareup.moshi.JsonAdapter
import com.squareup.moshi.Moshi
import com.tangem.tap.common.analytics.FirebaseAnalyticsHandler
import com.tangem.tap.common.extensions.readAssetAsString
import com.tangem.tap.domain.configurable.Loader
import timber.log.Timber
@ -22,8 +23,8 @@ class FeaturesLocalLoader(
val featureAdapter: JsonAdapter<FeatureModel> = moshi.adapter(FeatureModel::class.java)
val valuesAdapter: JsonAdapter<ConfigValueModel> = moshi.adapter(ConfigValueModel::class.java)
val jsonFeatures = readAssetAsString(Loader.featuresName)
val jsonConfigValues = readAssetAsString(Loader.configValuesName)
val jsonFeatures = context.readAssetAsString(Loader.featuresName)
val jsonConfigValues = context.readAssetAsString(Loader.configValuesName)
ConfigModel(featureAdapter.fromJson(jsonFeatures), valuesAdapter.fromJson(jsonConfigValues))
} catch (ex: Exception) {
@ -32,10 +33,6 @@ class FeaturesLocalLoader(
}
onComplete(config)
}
private fun readAssetAsString(fileName: String): String {
return context.assets.open("$fileName.json").bufferedReader().readText()
}
}
class FeaturesRemoteLoader(

View file

@ -54,7 +54,7 @@ class CreateSecondTwinWalletTask(
session.environment.card = session.environment.card?.changeStatusToLoaded()
WriteProtectedIssuerDataTask(
firstPublicKey.hexToBytes(), TwinCardsManager.issuerKeys
firstPublicKey.hexToBytes(), issuerKeys
).run(session) { writeResult ->
when (writeResult) {
is CompletionResult.Success -> callback(result)

View file

@ -1,5 +1,6 @@
package com.tangem.tap.features.details.redux
import android.content.Context
import com.tangem.Message
import com.tangem.blockchain.common.Wallet
import com.tangem.commands.common.card.Card
@ -62,7 +63,9 @@ sealed class DetailsAction : Action {
object Confirm : CreateTwinWalletAction()
}
data class LaunchFirstStep(val message: Message) : CreateTwinWalletAction() {
data class LaunchFirstStep(
val message: Message, val context: Context
) : CreateTwinWalletAction() {
object Success : CreateTwinWalletAction()
object Failure : CreateTwinWalletAction()
}

View file

@ -49,7 +49,7 @@ class CreateTwinWalletMiddleware {
}
is DetailsAction.CreateTwinWalletAction.LaunchFirstStep -> {
store.state.globalState.scanNoteResponse?.let {
twinsManager = TwinCardsManager(it)
twinsManager = TwinCardsManager(it, action.context)
}
scope.launch {
val result = twinsManager?.createFirstWallet(action.message)

View file

@ -97,11 +97,12 @@ class CreateTwinWalletFragment : Fragment(R.layout.fragment_details_twin_cards),
v_step_3.setBackgroundColor(defaultColor)
btn_tap.setOnClickListener {
store.dispatch(DetailsAction.CreateTwinWalletAction.LaunchFirstStep(
Message(getString(
R.string.details_twins_recreate_title_format,
twinCardNumberString
)
)))
Message(getString(
R.string.details_twins_recreate_title_format,
twinCardNumberString
)),
requireContext()
))
}
btn_tap.text = getString(R.string.details_twins_recreate_button_format,
twinCardNumber.number.toString())