diff --git a/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.java b/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.java
deleted file mode 100644
index bfa6df1a22..0000000000
--- a/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package com.tangem.presentation.activity;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.content.res.ColorStateList;
-import android.graphics.Color;
-import android.nfc.NfcAdapter;
-import android.nfc.Tag;
-import android.nfc.tech.IsoDep;
-import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
-import android.util.Log;
-import android.view.View;
-import android.widget.ProgressBar;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import com.tangem.data.nfc.CreateNewWalletTask;
-import com.tangem.domain.cardReader.CardProtocol;
-import com.tangem.domain.cardReader.NfcManager;
-import com.tangem.domain.wallet.TangemCard;
-import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog;
-import com.tangem.presentation.dialog.WaitSecurityDelayDialog;
-import com.tangem.util.Util;
-import com.tangem.wallet.R;
-
-public class CreateNewWalletActivity extends AppCompatActivity implements NfcAdapter.ReaderCallback, CardProtocol.Notifications {
- public static final String TAG = CreateNewWalletActivity.class.getSimpleName();
-
- public static final int RESULT_INVALID_PIN = Activity.RESULT_FIRST_USER;
- private TangemCard mCard;
- private NfcManager mNfcManager;
-
- private ProgressBar progressBar;
- private CreateNewWalletTask createNewWalletTask;
- private boolean lastReadSuccess = true;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_create_new_wallet);
-
- MainActivity.Companion.commonInit(getApplicationContext());
- mCard = new TangemCard(getIntent().getStringExtra("UID"));
- mCard.LoadFromBundle(getIntent().getExtras().getBundle("Card"));
-
- TextView tvCardID = findViewById(R.id.tvCardID);
- tvCardID.setText(mCard.getCIDDescription());
-
- mNfcManager = new NfcManager(this, this);
-
- progressBar = findViewById(R.id.progressBar);
- progressBar.setProgressTintList(ColorStateList.valueOf(Color.DKGRAY));
- progressBar.setVisibility(View.INVISIBLE);
- }
-
- @Override
- public void onTagDiscovered(Tag tag) {
- try {
- // get IsoDep handle and run cardReader thread
- final IsoDep isoDep = IsoDep.get(tag);
- if (isoDep == null) {
- throw new CardProtocol.TangemException(getString(R.string.wrong_tag_err));
- }
- byte UID[] = tag.getId();
- String sUID = Util.byteArrayToHexString(UID);
- Log.v(TAG, "UID: " + sUID);
-
- if (sUID.equals(mCard.getUID())) {
- if (lastReadSuccess) {
- isoDep.setTimeout(mCard.getPauseBeforePIN2() + 5000);
- } else {
- isoDep.setTimeout(mCard.getPauseBeforePIN2() + 65000);
- }
- createNewWalletTask = new CreateNewWalletTask(this, mCard, mNfcManager, isoDep, this);
- createNewWalletTask.start();
- } else {
- Log.d(TAG, "Mismatch card UID (" + sUID + " instead of " + mCard.getUID() + ")");
- mNfcManager.ignoreTag(isoDep.getTag());
- return;
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onResume() {
- super.onResume();
- mNfcManager.onResume();
- }
-
- @Override
- public void onPause() {
- mNfcManager.onPause();
- if (createNewWalletTask != null) {
- createNewWalletTask.cancel(true);
- }
- super.onPause();
- }
-
- @Override
- public void onStop() {
- // dismiss enable NFC dialog
- mNfcManager.onStop();
- if (createNewWalletTask != null) {
- createNewWalletTask.cancel(true);
- }
- super.onStop();
- }
-
- public void OnReadStart(CardProtocol cardProtocol) {
- progressBar.post(() -> {
- progressBar.setVisibility(View.VISIBLE);
- progressBar.setProgress(5);
- });
- }
-
- public void OnReadFinish(final CardProtocol cardProtocol) {
-
- createNewWalletTask = null;
-
- if (cardProtocol != null) {
- if (cardProtocol.getError() == null) {
- progressBar.post(() -> {
- progressBar.setProgress(100);
- progressBar.setProgressTintList(ColorStateList.valueOf(Color.GREEN));
- Intent intent = new Intent();
- intent.putExtra("UID", cardProtocol.getCard().getUID());
- intent.putExtra("Card", cardProtocol.getCard().getAsBundle());
- setResult(Activity.RESULT_OK, intent);
- finish();
- });
- } else {
- lastReadSuccess = false;
- if (cardProtocol.getError() instanceof CardProtocol.TangemException_InvalidPIN) {
- progressBar.post(() -> {
- progressBar.setProgress(100);
- progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));
- });
- progressBar.postDelayed(() -> {
- try {
- progressBar.setProgress(0);
- progressBar.setProgressTintList(ColorStateList.valueOf(Color.DKGRAY));
- progressBar.setVisibility(View.INVISIBLE);
- Intent intent = new Intent();
- intent.putExtra("message", "Cannot create wallet. Make sure you enter correct PIN2!");
- intent.putExtra("UID", cardProtocol.getCard().getUID());
- intent.putExtra("Card", cardProtocol.getCard().getAsBundle());
- setResult(RESULT_INVALID_PIN, intent);
- finish();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }, 500);
- return;
- } else {
- progressBar.post(() -> {
- if (cardProtocol.getError() instanceof CardProtocol.TangemException_ExtendedLengthNotSupported) {
- if (!NoExtendedLengthSupportDialog.Companion.getAllReadyShowed()) {
- new NoExtendedLengthSupportDialog().show(getFragmentManager(), NoExtendedLengthSupportDialog.Companion.getTAG());
- }
- } else {
- Toast.makeText(getBaseContext(), R.string.try_to_scan_again, Toast.LENGTH_SHORT).show();
- }
- progressBar.setProgress(100);
- progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));
- });
- }
- }
- }
-
- progressBar.postDelayed(() -> {
- try {
- progressBar.setProgress(0);
- progressBar.setProgressTintList(ColorStateList.valueOf(Color.DKGRAY));
- progressBar.setVisibility(View.INVISIBLE);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }, 500);
- }
-
- public void OnReadProgress(CardProtocol protocol, final int progress) {
- progressBar.post(() -> progressBar.setProgress(progress));
- }
-
- public void OnReadCancel() {
-
- createNewWalletTask = null;
-
- progressBar.postDelayed(() -> {
- try {
- progressBar.setProgress(0);
- progressBar.setProgressTintList(ColorStateList.valueOf(Color.DKGRAY));
- progressBar.setVisibility(View.INVISIBLE);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }, 500);
- }
-
- @Override
- public void OnReadWait(final int msec) {
- WaitSecurityDelayDialog.OnReadWait(this, msec);
- }
-
- @Override
- public void OnReadBeforeRequest(int timeout) {
- WaitSecurityDelayDialog.onReadBeforeRequest(this, timeout);
- }
-
- @Override
- public void OnReadAfterRequest() {
- WaitSecurityDelayDialog.onReadAfterRequest(this);
- }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt b/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt
new file mode 100644
index 0000000000..6f144da733
--- /dev/null
+++ b/app/src/main/java/com/tangem/presentation/activity/CreateNewWalletActivity.kt
@@ -0,0 +1,206 @@
+package com.tangem.presentation.activity
+
+import android.app.Activity
+import android.content.Intent
+import android.content.res.ColorStateList
+import android.graphics.Color
+import android.nfc.NfcAdapter
+import android.nfc.Tag
+import android.nfc.tech.IsoDep
+import android.os.Bundle
+import android.support.v7.app.AppCompatActivity
+import android.view.View
+import android.widget.ProgressBar
+import android.widget.Toast
+import com.tangem.data.nfc.CreateNewWalletTask
+import com.tangem.domain.cardReader.CardProtocol
+import com.tangem.domain.cardReader.NfcManager
+import com.tangem.domain.wallet.TangemCard
+import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog
+import com.tangem.presentation.dialog.WaitSecurityDelayDialog
+import com.tangem.util.Util
+import com.tangem.wallet.R
+import kotlinx.android.synthetic.main.activity_create_new_wallet.*
+
+class CreateNewWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtocol.Notifications {
+
+ companion object {
+ val TAG: String = CreateNewWalletActivity::class.java.simpleName
+
+ const val RESULT_INVALID_PIN = Activity.RESULT_FIRST_USER
+ }
+
+ private var card: TangemCard? = null
+ private var nfcManager: NfcManager? = null
+
+ private var createNewWalletTask: CreateNewWalletTask? = null
+ private var lastReadSuccess = true
+
+ private var progressBar: ProgressBar? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_create_new_wallet)
+
+ MainActivity.commonInit(applicationContext)
+
+ nfcManager = NfcManager(this, this)
+
+ card = TangemCard(intent.getStringExtra("UID"))
+ card!!.LoadFromBundle(intent.extras!!.getBundle("Card"))
+
+ tvCardId.text = card!!.cidDescription
+
+ progressBar = findViewById(R.id.progressBar)
+ progressBar!!.progressTintList = ColorStateList.valueOf(Color.DKGRAY)
+ progressBar!!.visibility = View.INVISIBLE
+ }
+
+ override fun onTagDiscovered(tag: Tag) {
+ try {
+ // get IsoDep handle and run cardReader thread
+ val isoDep = IsoDep.get(tag)
+ ?: throw CardProtocol.TangemException(getString(R.string.wrong_tag_err))
+ val uid = tag.id
+ val sUID = Util.byteArrayToHexString(uid)
+// Log.v(TAG, "UID: " + sUID);
+
+ if (sUID == card!!.uid) {
+ if (lastReadSuccess) {
+ isoDep.timeout = card!!.pauseBeforePIN2 + 5000
+ } else {
+ isoDep.timeout = card!!.pauseBeforePIN2 + 65000
+ }
+ createNewWalletTask = CreateNewWalletTask(this, card, nfcManager, isoDep, this)
+ createNewWalletTask!!.start()
+ } else {
+// Log.d(TAG, "Mismatch card UID (" + sUID + " instead of " + mCard.getUID() + ")");
+ nfcManager!!.ignoreTag(isoDep.tag)
+ }
+
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }
+
+ public override fun onResume() {
+ super.onResume()
+ nfcManager!!.onResume()
+ }
+
+ public override fun onPause() {
+ nfcManager!!.onPause()
+ if (createNewWalletTask != null)
+ createNewWalletTask!!.cancel(true)
+ super.onPause()
+ }
+
+ public override fun onStop() {
+ // dismiss enable NFC dialog
+ nfcManager!!.onStop()
+ if (createNewWalletTask != null)
+ createNewWalletTask!!.cancel(true)
+ super.onStop()
+ }
+
+ override fun OnReadStart(cardProtocol: CardProtocol) {
+ progressBar!!.post {
+ progressBar!!.visibility = View.VISIBLE
+ progressBar!!.progress = 5
+ }
+ }
+
+ override fun OnReadFinish(cardProtocol: CardProtocol?) {
+ createNewWalletTask = null
+ if (cardProtocol != null) {
+ if (cardProtocol.error == null) {
+ progressBar!!.post {
+ progressBar!!.progress = 100
+ progressBar!!.progressTintList = ColorStateList.valueOf(Color.GREEN)
+ val intent = Intent()
+ intent.putExtra("UID", cardProtocol.card.uid)
+ intent.putExtra("Card", cardProtocol.card.asBundle)
+ setResult(Activity.RESULT_OK, intent)
+ finish()
+ }
+ } else {
+ lastReadSuccess = false
+ if (cardProtocol.error is CardProtocol.TangemException_InvalidPIN) {
+ progressBar!!.post {
+ progressBar!!.progress = 100
+ progressBar!!.progressTintList = ColorStateList.valueOf(Color.RED)
+ }
+ progressBar!!.postDelayed({
+ try {
+ progressBar!!.progress = 0
+ progressBar!!.progressTintList = ColorStateList.valueOf(Color.DKGRAY)
+ progressBar!!.visibility = View.INVISIBLE
+ val intent = Intent()
+ intent.putExtra("message", "Cannot create wallet. Make sure you enter correct PIN2!")
+ intent.putExtra("UID", cardProtocol.card.uid)
+ intent.putExtra("Card", cardProtocol.card.asBundle)
+ setResult(RESULT_INVALID_PIN, intent)
+ finish()
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }, 500)
+ } else {
+ progressBar!!.post {
+ if (cardProtocol.error is CardProtocol.TangemException_ExtendedLengthNotSupported) {
+ if (!NoExtendedLengthSupportDialog.allReadyShowed) {
+ NoExtendedLengthSupportDialog().show(fragmentManager, NoExtendedLengthSupportDialog.TAG)
+ }
+ } else {
+ Toast.makeText(baseContext, R.string.try_to_scan_again, Toast.LENGTH_SHORT).show()
+ }
+ progressBar!!.progress = 100
+ progressBar!!.progressTintList = ColorStateList.valueOf(Color.RED)
+ }
+ }
+ }
+ }
+
+ progressBar!!.postDelayed({
+ try {
+ progressBar!!.progress = 0
+ progressBar!!.progressTintList = ColorStateList.valueOf(Color.DKGRAY)
+ progressBar!!.visibility = View.INVISIBLE
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }, 500)
+ }
+
+ override fun OnReadProgress(protocol: CardProtocol, progress: Int) {
+ progressBar!!.post { progressBar!!.progress = progress }
+ }
+
+ override fun OnReadCancel() {
+
+ createNewWalletTask = null
+
+ progressBar!!.postDelayed({
+ try {
+ progressBar!!.progress = 0
+ progressBar!!.progressTintList = ColorStateList.valueOf(Color.DKGRAY)
+ progressBar!!.visibility = View.INVISIBLE
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }, 500)
+ }
+
+ override fun OnReadWait(msec: Int) {
+ WaitSecurityDelayDialog.OnReadWait(this, msec)
+ }
+
+ override fun OnReadBeforeRequest(timeout: Int) {
+ WaitSecurityDelayDialog.onReadBeforeRequest(this, timeout)
+ }
+
+ override fun OnReadAfterRequest() {
+ WaitSecurityDelayDialog.onReadAfterRequest(this)
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_create_new_wallet.xml b/app/src/main/res/layout/activity_create_new_wallet.xml
index fb462e3bf9..2843f57185 100644
--- a/app/src/main/res/layout/activity_create_new_wallet.xml
+++ b/app/src/main/res/layout/activity_create_new_wallet.xml
@@ -1,6 +1,5 @@
-
+ android:textSize="@dimen/text_size_medium" />
+ tools:text="CB02 0000 0002 5000" />
+ android:textSize="@dimen/text_size_medium" />
-
+
\ No newline at end of file