From 3e26e9ee198c35f15592f6da9a54e404fb267a6b Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 10 Feb 2020 17:02:32 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/tangemtest/MainActivity.kt | 16 +++----------- .../tangem_sdk_new/extensions/CardManager.kt | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+), 13 deletions(-) create mode 100644 tangem-sdk/src/main/java/com/tangem/tangem_sdk_new/extensions/CardManager.kt diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/MainActivity.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/MainActivity.kt index 581f5d7e09..6cd62173e3 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/MainActivity.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/MainActivity.kt @@ -3,10 +3,7 @@ package com.tangem.tangemtest import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.tangem.CardManager -import com.tangem.tangem_sdk_new.DefaultCardManagerDelegate -import com.tangem.tangem_sdk_new.NfcLifecycleObserver -import com.tangem.tangem_sdk_new.TerminalKeysStorage -import com.tangem.tangem_sdk_new.nfc.NfcManager +import com.tangem.tangem_sdk_new.extensions.init import com.tangem.tasks.ScanEvent import com.tangem.tasks.TaskError import com.tangem.tasks.TaskEvent @@ -14,10 +11,7 @@ import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { - private val nfcManager = NfcManager() - private val cardManagerDelegate: DefaultCardManagerDelegate = DefaultCardManagerDelegate(nfcManager.reader) - private val cardManager = CardManager(nfcManager.reader, cardManagerDelegate) - + private lateinit var cardManager: CardManager private lateinit var cardId: String private lateinit var issuerData: ByteArray private lateinit var issuerDataSignature: ByteArray @@ -26,11 +20,7 @@ class MainActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - cardManager.setTerminalKeysService(TerminalKeysStorage(application)) - nfcManager.setCurrentActivity(this) - cardManagerDelegate.activity = this - - lifecycle.addObserver(NfcLifecycleObserver(nfcManager)) + cardManager = CardManager.init(this) btn_scan?.setOnClickListener { _ -> cardManager.scanCard { taskEvent -> diff --git a/tangem-sdk/src/main/java/com/tangem/tangem_sdk_new/extensions/CardManager.kt b/tangem-sdk/src/main/java/com/tangem/tangem_sdk_new/extensions/CardManager.kt new file mode 100644 index 0000000000..b2364c13cf --- /dev/null +++ b/tangem-sdk/src/main/java/com/tangem/tangem_sdk_new/extensions/CardManager.kt @@ -0,0 +1,21 @@ +package com.tangem.tangem_sdk_new.extensions + +import androidx.fragment.app.FragmentActivity +import com.tangem.CardManager +import com.tangem.tangem_sdk_new.DefaultCardManagerDelegate +import com.tangem.tangem_sdk_new.NfcLifecycleObserver +import com.tangem.tangem_sdk_new.TerminalKeysStorage +import com.tangem.tangem_sdk_new.nfc.NfcManager + +fun CardManager.Companion.init(activity: FragmentActivity): CardManager { + val nfcManager = NfcManager().apply { + this.setCurrentActivity(activity) + activity.lifecycle.addObserver(NfcLifecycleObserver(this)) + } + val cardManagerDelegate = DefaultCardManagerDelegate(nfcManager.reader).apply { + this.activity = activity + } + return CardManager(nfcManager.reader, cardManagerDelegate).apply { + this.setTerminalKeysService(TerminalKeysStorage(activity.application)) + } +} \ No newline at end of file