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 3699331770..a3cea8951e 100644 --- a/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt @@ -93,26 +93,6 @@ class CreateNewWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, animate() } - private fun animate() { - val lp = llHand.layoutParams as RelativeLayout.LayoutParams - val lp2 = llNfc.layoutParams as RelativeLayout.LayoutParams - val dp = resources.displayMetrics.density - val lm = dp * (69 + antenna.x * 75) - lp.topMargin = (dp * (-100 + antenna.y * 250)).toInt() - lp2.topMargin = (dp * (-125 + antenna.y * 250)).toInt() - llNfc.layoutParams = lp2 - - val a = object : Animation() { - override fun applyTransformation(interpolatedTime: Float, t: Transformation) { - lp.leftMargin = (lm * interpolatedTime).toInt() - llHand.layoutParams = lp - } - } - a.duration = 2000 - a.interpolator = DecelerateInterpolator() - llHand.startAnimation(a) - } - override fun onTagDiscovered(tag: Tag) { try { // get IsoDep handle and run cardReader thread @@ -259,4 +239,24 @@ class CreateNewWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, WaitSecurityDelayDialog.onReadAfterRequest(this) } + private fun animate() { + val lp = llHand.layoutParams as RelativeLayout.LayoutParams + val lp2 = llNfc.layoutParams as RelativeLayout.LayoutParams + val dp = resources.displayMetrics.density + val lm = dp * (69 + antenna.x * 75) + lp.topMargin = (dp * (-100 + antenna.y * 250)).toInt() + lp2.topMargin = (dp * (-125 + antenna.y * 250)).toInt() + llNfc.layoutParams = lp2 + + val a = object : Animation() { + override fun applyTransformation(interpolatedTime: Float, t: Transformation) { + lp.leftMargin = (lm * interpolatedTime).toInt() + llHand.layoutParams = lp + } + } + a.duration = 2000 + a.interpolator = DecelerateInterpolator() + llHand.startAnimation(a) + } + } \ No newline at end of file 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 9b91de563e..64510a78f2 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PurgeActivity.kt @@ -12,6 +12,10 @@ import android.nfc.tech.IsoDep import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import android.view.View +import android.view.animation.Animation +import android.view.animation.DecelerateInterpolator +import android.view.animation.Transformation +import android.widget.RelativeLayout import android.widget.Toast import com.tangem.App import com.tangem.tangemcard.tasks.PurgeTask @@ -21,12 +25,14 @@ import com.tangem.domain.wallet.TangemContext import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog import com.tangem.presentation.dialog.WaitSecurityDelayDialog import com.tangem.presentation.event.DeletingWalletFinish +import com.tangem.tangemcard.android.nfc.DeviceNFCAntennaLocation import com.tangem.tangemcard.android.reader.NfcReader import com.tangem.tangemcard.data.asBundle import com.tangem.tangemcard.util.Util import com.tangem.util.LOG import com.tangem.wallet.R import kotlinx.android.synthetic.main.activity_purge.* +import kotlinx.android.synthetic.main.layout_touch_card.* import org.greenrobot.eventbus.EventBus class PurgeActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtocol.Notifications { @@ -45,6 +51,8 @@ class PurgeActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoc private lateinit var nfcManager: NfcManager private lateinit var ctx: TangemContext + private lateinit var antenna: DeviceNFCAntennaLocation + private var purgeTask: PurgeTask? = null override fun onCreate(savedInstanceState: Bundle?) { @@ -60,6 +68,31 @@ class PurgeActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoc tvCardID.text = ctx.card!!.cidDescription progressBar.progressTintList = ColorStateList.valueOf(Color.DKGRAY) progressBar.visibility = View.INVISIBLE + + // get NFC Antenna + antenna = DeviceNFCAntennaLocation() + antenna.getAntennaLocation() + + // set card orientation + when (antenna.orientation) { + DeviceNFCAntennaLocation.CARD_ORIENTATION_HORIZONTAL -> { + ivHandCardHorizontal.visibility = View.VISIBLE + ivHandCardVertical.visibility = View.GONE + } + + DeviceNFCAntennaLocation.CARD_ORIENTATION_VERTICAL -> { + ivHandCardVertical.visibility = View.VISIBLE + ivHandCardHorizontal.visibility = View.GONE + } + } + + // set card z position + when (antenna.z) { + DeviceNFCAntennaLocation.CARD_ON_BACK -> llHand.elevation = 0.0f + DeviceNFCAntennaLocation.CARD_ON_FRONT -> llHand.elevation = 30.0f + } + + animate() } public override fun onResume() { @@ -204,4 +237,24 @@ class PurgeActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoc }, 500) } + private fun animate() { + val lp = llHand.layoutParams as RelativeLayout.LayoutParams + val lp2 = llNfc.layoutParams as RelativeLayout.LayoutParams + val dp = resources.displayMetrics.density + val lm = dp * (69 + antenna.x * 75) + lp.topMargin = (dp * (-100 + antenna.y * 250)).toInt() + lp2.topMargin = (dp * (-125 + antenna.y * 250)).toInt() + llNfc.layoutParams = lp2 + + val a = object : Animation() { + override fun applyTransformation(interpolatedTime: Float, t: Transformation) { + lp.leftMargin = (lm * interpolatedTime).toInt() + llHand.layoutParams = lp + } + } + a.duration = 2000 + a.interpolator = DecelerateInterpolator() + llHand.startAnimation(a) + } + } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_purge.xml b/app/src/main/res/layout/activity_purge.xml index 43813674fb..2d46f836de 100644 --- a/app/src/main/res/layout/activity_purge.xml +++ b/app/src/main/res/layout/activity_purge.xml @@ -1,16 +1,31 @@ - + + + android:orientation="vertical" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.85"> - \ No newline at end of file + \ No newline at end of file