diff --git a/app/src/main/java/com/tangem/presentation/activity/ConfirmTransactionActivity.kt b/app/src/main/java/com/tangem/presentation/activity/ConfirmTransactionActivity.kt index 290d86db93..6d1c2cd4da 100644 --- a/app/src/main/java/com/tangem/presentation/activity/ConfirmTransactionActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/ConfirmTransactionActivity.kt @@ -13,11 +13,11 @@ import android.view.KeyEvent import android.view.View import android.widget.Toast import com.tangem.Constant -import com.tangem.data.Blockchain import com.tangem.domain.wallet.CoinEngine import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext import com.tangem.presentation.event.TransactionFinishWithError +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.data.TangemCard import com.tangem.tangemcard.data.loadFromBundle diff --git a/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt b/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt index 97da6ec7c5..d20ddac09e 100644 --- a/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt @@ -17,7 +17,8 @@ import com.tangem.Constant import com.tangem.domain.wallet.TangemContext import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog -import com.tangem.tangemcard.android.nfc.DeviceNFCAntennaLocation +import com.tangem.tangemcard.android.nfc.NfcDeviceAntennaLocation +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.asBundle @@ -42,7 +43,7 @@ class CreateNewWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, private lateinit var nfcManager: NfcManager private lateinit var ctx: TangemContext - private lateinit var nfcAntenna: DeviceNFCAntennaLocation + private lateinit var nfcDeviceAntenna: NfcDeviceAntennaLocation private var createNewWalletTask: CreateNewWalletTask? = null private var lastReadSuccess = true @@ -57,8 +58,8 @@ class CreateNewWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, ctx = TangemContext.loadFromBundle(this, intent.extras) // init NFC Antenna - nfcAntenna = DeviceNFCAntennaLocation(this, ivHandCardHorizontal, ivHandCardVertical, llHand, llNfc) - nfcAntenna.init() + nfcDeviceAntenna = NfcDeviceAntennaLocation(this, ivHandCardHorizontal, ivHandCardVertical, llHand, llNfc) + nfcDeviceAntenna.init() tvCardId.text = ctx.card!!.cidDescription progressBar.progressTintList = ColorStateList.valueOf(Color.DKGRAY) diff --git a/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt b/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt index 7aaa9aadde..0cd4d062ba 100644 --- a/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt @@ -20,6 +20,7 @@ import com.tangem.di.Navigator import com.tangem.domain.wallet.TangemContext import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.TangemCard diff --git a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt index d4fe8a6c5b..9be5713ee9 100644 --- a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt @@ -30,7 +30,8 @@ import com.tangem.domain.wallet.TangemContext import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.RootFoundDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog -import com.tangem.tangemcard.android.nfc.DeviceNFCAntennaLocation +import com.tangem.tangemcard.android.nfc.NfcDeviceAntennaLocation +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.TangemCard @@ -62,7 +63,7 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco private lateinit var nfcManager: NfcManager private var zipFile: File? = null - private lateinit var nfcAntenna: DeviceNFCAntennaLocation + private lateinit var nfcDeviceAntenna: NfcDeviceAntennaLocation private var unsuccessReadCount = 0 private var lastTag: Tag? = null private var readCardInfoTask: ReadCardInfoTask? = null @@ -97,12 +98,12 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco rippleBackgroundNfc.startRippleAnimation() // init NFC Antenna - nfcAntenna = DeviceNFCAntennaLocation(this, ivHandCardHorizontal, ivHandCardVertical, llHand, llNfc) - nfcAntenna.init() + nfcDeviceAntenna = NfcDeviceAntennaLocation(this, ivHandCardHorizontal, ivHandCardVertical, llHand, llNfc) + nfcDeviceAntenna.init() // set phone name - if (nfcAntenna.fullName != "") - tvNFCHint.text = String.format(getString(R.string.scan_banknote), nfcAntenna.fullName) + if (nfcDeviceAntenna.fullName != "") + tvNFCHint.text = String.format(getString(R.string.scan_banknote), nfcDeviceAntenna.fullName) else tvNFCHint.text = String.format(getString(R.string.scan_banknote), getString(R.string.phone)) @@ -242,7 +243,7 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco public override fun onResume() { super.onResume() - nfcAntenna.animate() + nfcDeviceAntenna.animate() ReadCardInfoTask.resetLastReadInfo() } diff --git a/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt index 25f9e20784..576ace6402 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt @@ -25,6 +25,7 @@ import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.data.fingerprint.FingerprintHelper import com.tangem.domain.wallet.TangemContext import com.tangem.tangemcard.android.data.PINStorage +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.data.TangemCard import com.tangem.tangemcard.data.loadFromBundle import com.tangem.tangemcard.data.EXTRA_TANGEM_CARD diff --git a/app/src/main/java/com/tangem/presentation/activity/PinSwapActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PinSwapActivity.kt index 49aa637d0e..7700515491 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PinSwapActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PinSwapActivity.kt @@ -17,6 +17,7 @@ import com.tangem.App import com.tangem.Constant import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.* diff --git a/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt index 4450912190..018fa6fa20 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitOtherApiWithdrawalActivity.kt @@ -16,6 +16,7 @@ import com.tangem.data.network.CryptonitOtherApi import com.tangem.di.Navigator import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.wallet.R import kotlinx.android.synthetic.main.activity_prepare_cryptonit_other_api_withdrawal.* diff --git a/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitWithdrawalActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitWithdrawalActivity.kt index 7f90e8e0b4..a10a44628c 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitWithdrawalActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PrepareCryptonitWithdrawalActivity.kt @@ -17,6 +17,7 @@ import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.data.Blockchain import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.util.DecimalDigitsInputFilter import com.tangem.wallet.R import kotlinx.android.synthetic.main.activity_prepare_cryptonit_withdrawal.* diff --git a/app/src/main/java/com/tangem/presentation/activity/PrepareKrakenWithdrawalActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PrepareKrakenWithdrawalActivity.kt index 74f190c552..5eef701c62 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PrepareKrakenWithdrawalActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PrepareKrakenWithdrawalActivity.kt @@ -23,6 +23,7 @@ import com.tangem.data.Blockchain import com.tangem.di.Navigator import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.wallet.R import kotlinx.android.synthetic.main.activity_prepare_kraken_withdrawal.* import java.io.IOException diff --git a/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt index 3cb2c6db29..4da817a270 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt @@ -18,6 +18,7 @@ import com.tangem.data.Blockchain import com.tangem.di.Navigator import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.wallet.R import kotlinx.android.synthetic.main.activity_prepare_transaction.* diff --git a/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt index 7fc331f2be..26e19b1b1c 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt @@ -19,7 +19,8 @@ import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialogNew import com.tangem.presentation.event.DeletingWalletFinish -import com.tangem.tangemcard.android.nfc.DeviceNFCAntennaLocation +import com.tangem.tangemcard.android.nfc.NfcDeviceAntennaLocation +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.asBundle @@ -52,7 +53,7 @@ class PurgeActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoc private lateinit var nfcManager: NfcManager private lateinit var ctx: TangemContext - private lateinit var nfcAntenna: DeviceNFCAntennaLocation + private lateinit var nfcDeviceAntenna: NfcDeviceAntennaLocation private var purgeTask: PurgeTask? = null @@ -70,8 +71,8 @@ class PurgeActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoc ctx = TangemContext.loadFromBundle(this, intent.extras) // init NFC Antenna - nfcAntenna = DeviceNFCAntennaLocation(this, ivHandCardHorizontal, ivHandCardVertical, llHand, llNfc) - nfcAntenna.init() + nfcDeviceAntenna = NfcDeviceAntennaLocation(this, ivHandCardHorizontal, ivHandCardVertical, llHand, llNfc) + nfcDeviceAntenna.init() tvCardID.text = ctx.card!!.cidDescription progressBar.progressTintList = ColorStateList.valueOf(Color.DKGRAY) diff --git a/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt b/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt index 866da0588c..f29eb48e4e 100644 --- a/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt @@ -13,6 +13,7 @@ import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext import com.tangem.presentation.event.TransactionFinishWithError import com.tangem.presentation.event.TransactionFinishWithSuccess +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.util.UtilHelper import com.tangem.wallet.R diff --git a/app/src/main/java/com/tangem/presentation/activity/SignTransactionActivity.kt b/app/src/main/java/com/tangem/presentation/activity/SignTransactionActivity.kt index 959c6e1f8c..8a88b1c0b3 100644 --- a/app/src/main/java/com/tangem/presentation/activity/SignTransactionActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/SignTransactionActivity.kt @@ -19,7 +19,8 @@ import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog -import com.tangem.tangemcard.android.nfc.DeviceNFCAntennaLocation +import com.tangem.tangemcard.android.nfc.NfcDeviceAntennaLocation +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.asBundle @@ -41,7 +42,7 @@ class SignTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, private lateinit var nfcManager: NfcManager private lateinit var ctx: TangemContext - private lateinit var nfcAntenna: DeviceNFCAntennaLocation + private lateinit var nfcDeviceAntenna: NfcDeviceAntennaLocation private var signTransactionTask: SignTask? = null @@ -61,8 +62,8 @@ class SignTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, ctx = TangemContext.loadFromBundle(this, intent.extras) // init NFC Antenna - nfcAntenna = DeviceNFCAntennaLocation(this, ivHandCardHorizontal, ivHandCardVertical, llHand, llNfc) - nfcAntenna.init() + nfcDeviceAntenna = NfcDeviceAntennaLocation(this, ivHandCardHorizontal, ivHandCardVertical, llHand, llNfc) + nfcDeviceAntenna.init() amount = CoinEngine.Amount(intent.getStringExtra(Constant.EXTRA_AMOUNT), intent.getStringExtra(Constant.EXTRA_AMOUNT_CURRENCY)) fee = CoinEngine.Amount(intent.getStringExtra(Constant.EXTRA_FEE), intent.getStringExtra(Constant.EXTRA_FEE_CURRENCY)) diff --git a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt index fe2dd54a87..1453766033 100644 --- a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt +++ b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt @@ -35,6 +35,7 @@ import com.tangem.presentation.dialog.WaitSecurityDelayDialog import com.tangem.presentation.event.DeletingWalletFinish import com.tangem.presentation.event.TransactionFinishWithError import com.tangem.presentation.event.TransactionFinishWithSuccess +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.EXTRA_TANGEM_CARD diff --git a/app/src/main/java/com/tangem/presentation/fragment/VerifyCard.kt b/app/src/main/java/com/tangem/presentation/fragment/VerifyCard.kt index dc8403a612..6f9192be0c 100644 --- a/app/src/main/java/com/tangem/presentation/fragment/VerifyCard.kt +++ b/app/src/main/java/com/tangem/presentation/fragment/VerifyCard.kt @@ -22,6 +22,7 @@ import com.tangem.presentation.activity.* import com.tangem.presentation.dialog.PINSwapWarningDialog import com.tangem.presentation.event.DeletingWalletFinish import com.tangem.tangemcard.android.data.PINStorage +import com.tangem.tangemcard.android.nfc.NfcLifecycleObserver import com.tangem.tangemcard.android.reader.NfcManager import com.tangem.tangemcard.data.TangemCard import com.tangem.tangemcard.data.loadFromBundle diff --git a/tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/DeviceNFCAntennaLocation.kt b/tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NfcDeviceAntennaLocation.kt similarity index 92% rename from tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/DeviceNFCAntennaLocation.kt rename to tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NfcDeviceAntennaLocation.kt index b06ea3530b..f237869987 100644 --- a/tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/DeviceNFCAntennaLocation.kt +++ b/tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NfcDeviceAntennaLocation.kt @@ -10,7 +10,7 @@ import android.widget.ImageView import android.widget.RelativeLayout import androidx.appcompat.widget.LinearLayoutCompat -class DeviceNFCAntennaLocation(private var context: Context, +class NfcDeviceAntennaLocation(private var context: Context, private var ivHandCardHorizontal: ImageView, private var ivHandCardVertical: ImageView, private var llHand: LinearLayoutCompat, @@ -65,7 +65,7 @@ class DeviceNFCAntennaLocation(private var context: Context, this.y = 0.35f this.z = 0 - for (nfcLocation in NFCLocation.values()) { + for (nfcLocation in NfcLocation.values()) { if (codename.startsWith(nfcLocation.codename)) { this.fullName = nfcLocation.fullName this.orientation = nfcLocation.orientation @@ -91,8 +91,8 @@ class DeviceNFCAntennaLocation(private var context: Context, // set card z position when (z) { - DeviceNFCAntennaLocation.CARD_ON_BACK -> llHand.elevation = 0.0f - DeviceNFCAntennaLocation.CARD_ON_FRONT -> llHand.elevation = 30.0f + NfcDeviceAntennaLocation.CARD_ON_BACK -> llHand.elevation = 0.0f + NfcDeviceAntennaLocation.CARD_ON_FRONT -> llHand.elevation = 30.0f } } diff --git a/app/src/main/java/com/tangem/presentation/activity/NfcLifecycleObserver.kt b/tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NfcLifecycleObserver.kt similarity index 80% rename from app/src/main/java/com/tangem/presentation/activity/NfcLifecycleObserver.kt rename to tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NfcLifecycleObserver.kt index 73d9b6dccf..559adbfdfa 100644 --- a/app/src/main/java/com/tangem/presentation/activity/NfcLifecycleObserver.kt +++ b/tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NfcLifecycleObserver.kt @@ -1,10 +1,15 @@ -package com.tangem.presentation.activity +package com.tangem.tangemcard.android.nfc import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleObserver import androidx.lifecycle.OnLifecycleEvent import com.tangem.tangemcard.android.reader.NfcManager +/** + * Lifecycle observer for all activities and fragments with nfc + * + * @see NfcManager + */ class NfcLifecycleObserver(private var nfcManager: NfcManager) : LifecycleObserver { @OnLifecycleEvent(Lifecycle.Event.ON_RESUME) diff --git a/tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NFCLocation.kt b/tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NfcLocation.kt similarity index 99% rename from tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NFCLocation.kt rename to tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NfcLocation.kt index cbb341b966..6f5199781b 100644 --- a/tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NFCLocation.kt +++ b/tangemcard-android/src/main/java/com/tangem/tangemcard/android/nfc/NfcLocation.kt @@ -1,6 +1,6 @@ package com.tangem.tangemcard.android.nfc -enum class NFCLocation(val codename: String, val fullName: String, val orientation: Int, val x: Int, val y: Int, val z: Int) { +enum class NfcLocation(val codename: String, val fullName: String, val orientation: Int, val x: Int, val y: Int, val z: Int) { model1("sailfish", "Google Pixel", 0, 65, 25, 0), model2("walleye", "Google Pixel 2", 0, 40, 15, 0), model3("taimen", "Google Pixel 2 XL", 0, 40, 15, 0),