Updated on 2026-08-14

This commit is contained in:
Tangem 2018-08-08 16:04:40 +03:00
parent fb4b20de61
commit 2b6b129096
19 changed files with 417 additions and 418 deletions

View file

@ -10,7 +10,7 @@ import android.security.keystore.KeyProperties;
import com.tangem.domain.wallet.FingerprintHelper;
import com.tangem.domain.wallet.PINStorage;
import com.tangem.presentation.activity.RequestPINActivity;
import com.tangem.presentation.activity.PinRequestActivity;
import java.io.IOException;
import java.lang.ref.WeakReference;
@ -26,7 +26,7 @@ import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
public class StartFingerprintReaderTask extends AsyncTask<Void, Void, Boolean> {
private WeakReference<RequestPINActivity> reference;
private WeakReference<PinRequestActivity> reference;
private KeyStore keyStore;
private Cipher cipher;
@ -36,9 +36,9 @@ public class StartFingerprintReaderTask extends AsyncTask<Void, Void, Boolean> {
FingerprintManager fingerprintManager;
FingerprintHelper fingerprintHelper;
RequestPINActivity activity;
PinRequestActivity activity;
public StartFingerprintReaderTask(RequestPINActivity activity, FingerprintManager fingerprintManager, FingerprintHelper fingerprintHelper) {
public StartFingerprintReaderTask(PinRequestActivity activity, FingerprintManager fingerprintManager, FingerprintHelper fingerprintHelper) {
reference = new WeakReference<>(activity);
this.fingerprintManager = fingerprintManager;
this.fingerprintHelper = fingerprintHelper;
@ -64,32 +64,32 @@ public class StartFingerprintReaderTask extends AsyncTask<Void, Void, Boolean> {
@Override
protected void onPostExecute(final Boolean success) {
RequestPINActivity requestPINActivity = reference.get();
PinRequestActivity pinRequestActivity = reference.get();
onCancelled();
if (!success) {
requestPINActivity.doLog("Authentication failed!");
pinRequestActivity.doLog("Authentication failed!");
} else {
fingerprintHelper.startAuth(fingerprintManager, cryptoObject);
requestPINActivity.doLog("Authenticate using fingerprint!");
pinRequestActivity.doLog("Authenticate using fingerprint!");
}
}
@Override
protected void onCancelled() {
RequestPINActivity requestPINActivity = reference.get();
PinRequestActivity pinRequestActivity = reference.get();
requestPINActivity.setStartFingerprintReaderTask(null);
pinRequestActivity.setStartFingerprintReaderTask(null);
}
private boolean getKeyStore() {
RequestPINActivity requestPINActivity = reference.get();
PinRequestActivity pinRequestActivity = reference.get();
requestPINActivity.doLog("Getting keystore...");
pinRequestActivity.doLog("Getting keystore...");
try {
keyStore = KeyStore.getInstance(RequestPINActivity.KEYSTORE);
keyStore = KeyStore.getInstance(PinRequestActivity.KEYSTORE);
keyStore.load(null); // Create empty keystore
return true;
} catch (KeyStoreException | CertificateException | NoSuchAlgorithmException | IOException e) {
@ -101,17 +101,17 @@ public class StartFingerprintReaderTask extends AsyncTask<Void, Void, Boolean> {
@TargetApi(Build.VERSION_CODES.M)
public boolean createNewKey(boolean forceCreate) {
RequestPINActivity requestPINActivity = reference.get();
PinRequestActivity pinRequestActivity = reference.get();
requestPINActivity.doLog("Creating new key...");
pinRequestActivity.doLog("Creating new key...");
try {
if (forceCreate)
keyStore.deleteEntry(RequestPINActivity.KEY_ALIAS);
keyStore.deleteEntry(PinRequestActivity.KEY_ALIAS);
if (!keyStore.containsAlias(RequestPINActivity.KEY_ALIAS)) {
KeyGenerator generator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, RequestPINActivity.KEYSTORE);
if (!keyStore.containsAlias(PinRequestActivity.KEY_ALIAS)) {
KeyGenerator generator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, PinRequestActivity.KEYSTORE);
generator.init(new KeyGenParameterSpec.Builder(RequestPINActivity.KEY_ALIAS,
generator.init(new KeyGenParameterSpec.Builder(PinRequestActivity.KEY_ALIAS,
KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
.setBlockModes(KeyProperties.BLOCK_MODE_CBC)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
@ -120,9 +120,9 @@ public class StartFingerprintReaderTask extends AsyncTask<Void, Void, Boolean> {
);
generator.generateKey();
requestPINActivity.doLog("Key created.");
pinRequestActivity.doLog("Key created.");
} else
requestPINActivity.doLog("Key exists.");
pinRequestActivity.doLog("Key exists.");
return true;
} catch (Exception e) {
@ -133,9 +133,9 @@ public class StartFingerprintReaderTask extends AsyncTask<Void, Void, Boolean> {
}
private boolean getCipher() {
RequestPINActivity requestPINActivity = reference.get();
PinRequestActivity pinRequestActivity = reference.get();
requestPINActivity.doLog("Getting cipher...");
pinRequestActivity.doLog("Getting cipher...");
try {
cipher = Cipher.getInstance(KeyProperties.KEY_ALGORITHM_AES + "/" + KeyProperties.BLOCK_MODE_CBC + "/" + KeyProperties.ENCRYPTION_PADDING_PKCS7);
return true;
@ -148,20 +148,20 @@ public class StartFingerprintReaderTask extends AsyncTask<Void, Void, Boolean> {
@TargetApi(Build.VERSION_CODES.M)
private boolean initCipher(int mode) {
RequestPINActivity requestPINActivity = reference.get();
PinRequestActivity pinRequestActivity = reference.get();
requestPINActivity.doLog("Initializing cipher...");
pinRequestActivity.doLog("Initializing cipher...");
try {
keyStore.load(null);
SecretKey keyspec = (SecretKey) keyStore.getKey(RequestPINActivity.KEY_ALIAS, null);
SecretKey keyspec = (SecretKey) keyStore.getKey(PinRequestActivity.KEY_ALIAS, null);
if (mode == Cipher.ENCRYPT_MODE) {
cipher.init(mode, keyspec);
} else {
byte[] iv = null;
if (requestPINActivity.getMode() == RequestPINActivity.Mode.RequestPIN || activity.getMode() == RequestPINActivity.Mode.RequestNewPIN || activity.getMode() == RequestPINActivity.Mode.ConfirmNewPIN) {
if (pinRequestActivity.getMode() == PinRequestActivity.Mode.RequestPIN || activity.getMode() == PinRequestActivity.Mode.RequestNewPIN || activity.getMode() == PinRequestActivity.Mode.ConfirmNewPIN) {
iv = PINStorage.loadEncryptedIV();
} else if (activity.getMode() == RequestPINActivity.Mode.RequestPIN2 || activity.getMode() == RequestPINActivity.Mode.RequestNewPIN2 || activity.getMode() == RequestPINActivity.Mode.ConfirmNewPIN2) {
} else if (activity.getMode() == PinRequestActivity.Mode.RequestPIN2 || activity.getMode() == PinRequestActivity.Mode.RequestNewPIN2 || activity.getMode() == PinRequestActivity.Mode.ConfirmNewPIN2) {
iv = PINStorage.loadEncryptedIV2();
}
IvParameterSpec ivspec = new IvParameterSpec(iv);
@ -181,9 +181,9 @@ public class StartFingerprintReaderTask extends AsyncTask<Void, Void, Boolean> {
@TargetApi(Build.VERSION_CODES.M)
private boolean initCryptObject() {
RequestPINActivity requestPINActivity = reference.get();
PinRequestActivity pinRequestActivity = reference.get();
requestPINActivity.doLog("Initializing crypt object...");
pinRequestActivity.doLog("Initializing crypt object...");
try {
cryptoObject = new FingerprintManager.CryptoObject(cipher);
return true;

View file

@ -4,7 +4,7 @@ import android.os.AsyncTask;
import android.widget.Toast;
import com.tangem.domain.wallet.FingerprintHelper;
import com.tangem.presentation.activity.SavePINActivity;
import com.tangem.presentation.activity.PinSaveActivity;
import com.tangem.wallet.R;
import java.lang.ref.WeakReference;
@ -12,9 +12,9 @@ import java.lang.ref.WeakReference;
import javax.crypto.Cipher;
public class ConfirmWithFingerprintTask extends AsyncTask<Void, Void, Boolean> {
private WeakReference<SavePINActivity> reference;
private WeakReference<PinSaveActivity> reference;
public ConfirmWithFingerprintTask(SavePINActivity context) {
public ConfirmWithFingerprintTask(PinSaveActivity context) {
reference = new WeakReference<>(context);
reference.get().setFingerprintHelper(new FingerprintHelper(reference.get()));
@ -22,40 +22,40 @@ public class ConfirmWithFingerprintTask extends AsyncTask<Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
SavePINActivity savePINActivity = reference.get();
PinSaveActivity pinSaveActivity = reference.get();
if (!savePINActivity.getKeyStore())
if (!pinSaveActivity.getKeyStore())
return false;
if (!savePINActivity.createNewKey(false))
if (!pinSaveActivity.createNewKey(false))
return false;
if (!savePINActivity.getCipher())
if (!pinSaveActivity.getCipher())
return false;
return savePINActivity.initCipher(Cipher.ENCRYPT_MODE) && savePINActivity.initCryptObject();
return pinSaveActivity.initCipher(Cipher.ENCRYPT_MODE) && pinSaveActivity.initCryptObject();
}
@Override
protected void onPostExecute(final Boolean success) {
SavePINActivity savePINActivity = reference.get();
PinSaveActivity pinSaveActivity = reference.get();
onCancelled();
if (!success) {
Toast.makeText(savePINActivity, R.string.pin_save_fail, Toast.LENGTH_LONG).show();
Toast.makeText(pinSaveActivity, R.string.pin_save_fail, Toast.LENGTH_LONG).show();
} else {
savePINActivity.getFingerprintHelper().startAuth(savePINActivity.getFingerprintManager(), savePINActivity.getCryptoObject());
pinSaveActivity.getFingerprintHelper().startAuth(pinSaveActivity.getFingerprintManager(), pinSaveActivity.getCryptoObject());
}
}
@Override
protected void onCancelled() {
SavePINActivity savePINActivity = reference.get();
PinSaveActivity pinSaveActivity = reference.get();
if (savePINActivity.getDFingerPrintConfirmation() != null) {
savePINActivity.getDFingerPrintConfirmation().cancel();
if (pinSaveActivity.getDFingerPrintConfirmation() != null) {
pinSaveActivity.getDFingerPrintConfirmation().cancel();
}
}

View file

@ -166,8 +166,8 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
}
requestPIN2Count = 0
val intent = Intent(baseContext, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(baseContext, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", card!!.uid)
intent.putExtra("Card", card!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2)
@ -241,8 +241,8 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
}
if (resultCode == SignPaymentActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) {
requestPIN2Count++
val intent = Intent(baseContext, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(baseContext, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", card!!.uid)
intent.putExtra("Card", card!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2)

View file

@ -82,8 +82,8 @@ class EmptyWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card
btnNewWallet.setOnClickListener {
requestPIN2Count = 0
val intent = Intent(baseContext, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(baseContext, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", card!!.uid)
intent.putExtra("Card", card!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2)
@ -123,8 +123,8 @@ class EmptyWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card
}
if (resultCode == CreateNewWalletActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) {
requestPIN2Count++
val intent = Intent(baseContext, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(baseContext, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", card!!.uid)
intent.putExtra("Card", card!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2)

View file

@ -397,13 +397,13 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco
}
private fun showSavePinActivity() {
val intent = Intent(baseContext, SavePINActivity::class.java)
val intent = Intent(baseContext, PinSaveActivity::class.java)
intent.putExtra("PIN2", false)
startActivity(intent)
}
private fun showSavePin2Activity() {
val intent = Intent(baseContext, SavePINActivity::class.java)
val intent = Intent(baseContext, PinSaveActivity::class.java)
intent.putExtra("PIN2", true)
startActivity(intent)
}
@ -424,8 +424,8 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco
}
private fun doEnterPIN() {
val intent = Intent(this, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN.toString())
val intent = Intent(this, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN.toString())
startActivityForResult(intent, REQUEST_CODE_ENTER_PIN_ACTIVITY)
}

View file

@ -25,11 +25,11 @@ import com.tangem.domain.wallet.FingerprintHelper
import com.tangem.domain.wallet.PINStorage
import com.tangem.domain.wallet.TangemCard
import com.tangem.wallet.R
import kotlinx.android.synthetic.main.activity_request_pin.*
import kotlinx.android.synthetic.main.activity_pin_request.*
import kotlinx.android.synthetic.main.layout_pin_buttons.*
import java.io.IOException
class RequestPINActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, FingerprintHelper.FingerprintHelperListener {
class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, FingerprintHelper.FingerprintHelperListener {
companion object {
const val KEY_ALIAS = "pinKey"
@ -51,7 +51,7 @@ class RequestPINActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_request_pin)
setContentView(R.layout.activity_pin_request)
MainActivity.commonInit(applicationContext)
@ -246,7 +246,7 @@ class RequestPINActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge
if (!allowFingerprint)
return
fingerprintHelper = FingerprintHelper(this@RequestPINActivity)
fingerprintHelper = FingerprintHelper(this@PinRequestActivity)
startFingerprintReaderTask = StartFingerprintReaderTask(this, fingerprintManager, fingerprintHelper)
startFingerprintReaderTask!!.execute(null as Void?)
}

View file

@ -23,7 +23,7 @@ import com.tangem.data.network.task.save_pin.ConfirmWithFingerprintTask
import com.tangem.domain.wallet.FingerprintHelper
import com.tangem.domain.wallet.PINStorage
import com.tangem.wallet.R
import kotlinx.android.synthetic.main.activity_save_pin.*
import kotlinx.android.synthetic.main.activity_pin_save.*
import kotlinx.android.synthetic.main.layout_pin_buttons.*
import java.io.IOException
import java.security.KeyStore
@ -36,7 +36,7 @@ import javax.crypto.NoSuchPaddingException
import javax.crypto.SecretKey
import javax.crypto.spec.IvParameterSpec
class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelperListener {
class PinSaveActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelperListener {
private var confirmWithFingerprintTask: ConfirmWithFingerprintTask? = null
private var keyStore: KeyStore? = null
@ -54,7 +54,7 @@ class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelper
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_save_pin)
setContentView(R.layout.activity_pin_save)
MainActivity.commonInit(applicationContext)
@ -121,7 +121,7 @@ class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelper
cipher = result.cryptoObject.cipher
when (onConfirmAction) {
SavePINActivity.OnConfirmAction.Save -> {
PinSaveActivity.OnConfirmAction.Save -> {
val textToEncrypt = tvPin.text.toString()
if (usePIN2) {
PINStorage.saveEncryptedPIN2(cipher, textToEncrypt)
@ -130,7 +130,7 @@ class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelper
}
}
SavePINActivity.OnConfirmAction.Delete -> {
PinSaveActivity.OnConfirmAction.Delete -> {
if (usePIN2) {
PINStorage.deleteEncryptedPIN2()
} else {
@ -140,7 +140,7 @@ class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelper
tvPin.text = ""
}
SavePINActivity.OnConfirmAction.DeleteEncryptedAndSave -> if (usePIN2) {
PinSaveActivity.OnConfirmAction.DeleteEncryptedAndSave -> if (usePIN2) {
PINStorage.deleteEncryptedPIN2()
PINStorage.saveEncryptedPIN2(cipher, tvPin.text.toString())
} else {
@ -155,7 +155,7 @@ class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelper
fun getKeyStore(): Boolean {
try {
keyStore = KeyStore.getInstance(RequestPINActivity.KEYSTORE)
keyStore = KeyStore.getInstance(PinRequestActivity.KEYSTORE)
// create empty keystore
keyStore!!.load(null)
return true
@ -176,12 +176,12 @@ class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelper
fun createNewKey(forceCreate: Boolean): Boolean {
try {
if (forceCreate)
keyStore!!.deleteEntry(RequestPINActivity.KEY_ALIAS)
keyStore!!.deleteEntry(PinRequestActivity.KEY_ALIAS)
if (!keyStore!!.containsAlias(RequestPINActivity.KEY_ALIAS)) {
val generator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, RequestPINActivity.KEYSTORE)
if (!keyStore!!.containsAlias(PinRequestActivity.KEY_ALIAS)) {
val generator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, PinRequestActivity.KEYSTORE)
generator.init(KeyGenParameterSpec.Builder(RequestPINActivity.KEY_ALIAS,
generator.init(KeyGenParameterSpec.Builder(PinRequestActivity.KEY_ALIAS,
KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT)
.setBlockModes(KeyProperties.BLOCK_MODE_CBC)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
@ -217,7 +217,7 @@ class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelper
fun initCipher(mode: Int): Boolean {
try {
keyStore!!.load(null)
val keyspec = keyStore!!.getKey(RequestPINActivity.KEY_ALIAS, null) as SecretKey
val keyspec = keyStore!!.getKey(PinRequestActivity.KEY_ALIAS, null) as SecretKey
if (mode == Cipher.ENCRYPT_MODE) {
cipher!!.init(mode, keyspec)
@ -285,7 +285,7 @@ class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelper
onConfirmAction = OnConfirmAction.Save
confirmWithFingerprintTask = ConfirmWithFingerprintTask(this@SavePINActivity)
confirmWithFingerprintTask = ConfirmWithFingerprintTask(this@PinSaveActivity)
confirmWithFingerprintTask!!.execute(null as Void?)
} else {
@ -303,7 +303,7 @@ class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelper
// show a progress spinner, and kick off a background task to perform the user login attempt
//showProgress(true);
confirmWithFingerprintTask = ConfirmWithFingerprintTask(this@SavePINActivity)
confirmWithFingerprintTask = ConfirmWithFingerprintTask(this@PinSaveActivity)
confirmWithFingerprintTask!!.execute(null as Void?)
} else {
PINStorage.savePIN(tvPin.text.toString())
@ -321,7 +321,7 @@ class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelper
return
}
onConfirmAction = OnConfirmAction.Delete
confirmWithFingerprintTask = ConfirmWithFingerprintTask(this@SavePINActivity)
confirmWithFingerprintTask = ConfirmWithFingerprintTask(this@PinSaveActivity)
confirmWithFingerprintTask!!.execute(null as Void?)
} else {
tvPin.text = ""
@ -334,7 +334,7 @@ class SavePINActivity : AppCompatActivity(), FingerprintHelper.FingerprintHelper
return
}
onConfirmAction = OnConfirmAction.Delete
confirmWithFingerprintTask = ConfirmWithFingerprintTask(this@SavePINActivity)
confirmWithFingerprintTask = ConfirmWithFingerprintTask(this@PinSaveActivity)
confirmWithFingerprintTask!!.execute(null as Void?)
} else {
tvPin.text = ""

View file

@ -20,12 +20,12 @@ 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_swap_pin.*
import kotlinx.android.synthetic.main.activity_pin_swap.*
class SwapPINActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtocol.Notifications {
class PinSwapActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtocol.Notifications {
companion object {
val TAG: String = SwapPINActivity::class.java.simpleName
val TAG: String = PinSwapActivity::class.java.simpleName
const val RESULT_INVALID_PIN = Activity.RESULT_FIRST_USER
}
@ -42,7 +42,7 @@ class SwapPINActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProt
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_swap_pin)
setContentView(R.layout.activity_pin_swap)
MainActivity.commonInit(applicationContext)

View file

@ -124,7 +124,7 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
}
ivCamera.setOnClickListener {
val intent = Intent(baseContext, QRScanActivity::class.java)
val intent = Intent(baseContext, QrScanActivity::class.java)
startActivityForResult(intent, REQUEST_CODE_SCAN_QR)
}
}

View file

@ -12,7 +12,7 @@ import com.google.zxing.Result
import me.dm7.barcodescanner.zxing.ZXingScannerView
class QRScanActivity : AppCompatActivity(), ZXingScannerView.ResultHandler {
class QrScanActivity : AppCompatActivity(), ZXingScannerView.ResultHandler {
private var scannerView: ZXingScannerView? = null

View file

@ -247,16 +247,16 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
REQUEST_CODE_ENTER_NEW_PIN -> if (resultCode == Activity.RESULT_OK) {
if (data != null) {
if (data.extras != null && data.extras!!.containsKey("confirmPIN")) {
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
newPIN = data.getStringExtra("newPIN")
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_SWAP_PIN)
} else {
val intent = Intent(context, RequestPINActivity::class.java)
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("newPIN", data.getStringExtra("newPIN"))
intent.putExtra("mode", RequestPINActivity.Mode.ConfirmNewPIN.toString())
intent.putExtra("mode", PinRequestActivity.Mode.ConfirmNewPIN.toString())
startActivityForResult(intent, REQUEST_CODE_ENTER_NEW_PIN)
}
}
@ -264,16 +264,16 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
REQUEST_CODE_ENTER_NEW_PIN2 -> if (resultCode == Activity.RESULT_OK) {
if (data != null) {
if (data.extras != null && data.extras!!.containsKey("confirmPIN2")) {
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
newPIN2 = data.getStringExtra("newPIN2")
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_SWAP_PIN)
} else {
val intent = Intent(context, RequestPINActivity::class.java)
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("newPIN2", data.getStringExtra("newPIN2"))
intent.putExtra("mode", RequestPINActivity.Mode.ConfirmNewPIN2.toString())
intent.putExtra("mode", PinRequestActivity.Mode.ConfirmNewPIN2.toString())
startActivityForResult(intent, REQUEST_CODE_ENTER_NEW_PIN2)
}
}
@ -317,8 +317,8 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
}
if (resultCode == CreateNewWalletActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) {
requestPIN2Count++
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_SWAP_PIN)
@ -356,8 +356,8 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
}
if (resultCode == CreateNewWalletActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) {
requestPIN2Count++
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_PURGE)
@ -743,7 +743,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
}
private fun startSwapPINActivity() {
val intent = Intent(context, SwapPINActivity::class.java)
val intent = Intent(context, PinSwapActivity::class.java)
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
intent.putExtra("newPIN", newPIN)

View file

@ -18,8 +18,8 @@ import com.tangem.domain.wallet.PINStorage
import com.tangem.domain.wallet.TangemCard
import com.tangem.presentation.activity.CreateNewWalletActivity
import com.tangem.presentation.activity.PurgeActivity
import com.tangem.presentation.activity.RequestPINActivity
import com.tangem.presentation.activity.SwapPINActivity
import com.tangem.presentation.activity.PinRequestActivity
import com.tangem.presentation.activity.PinSwapActivity
import com.tangem.presentation.dialog.PINSwapWarningDialog
import com.tangem.wallet.BuildConfig
import com.tangem.wallet.R
@ -101,16 +101,16 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
REQUEST_CODE_ENTER_NEW_PIN -> if (resultCode == Activity.RESULT_OK) {
if (data != null) {
if (data.extras!!.containsKey("confirmPIN")) {
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
newPIN = data.getStringExtra("newPIN")
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_SWAP_PIN)
} else {
val intent = Intent(context, RequestPINActivity::class.java)
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("newPIN", data.getStringExtra("newPIN"))
intent.putExtra("mode", RequestPINActivity.Mode.ConfirmNewPIN.toString())
intent.putExtra("mode", PinRequestActivity.Mode.ConfirmNewPIN.toString())
startActivityForResult(intent, REQUEST_CODE_ENTER_NEW_PIN)
}
}
@ -118,16 +118,16 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
REQUEST_CODE_ENTER_NEW_PIN2 -> if (resultCode == Activity.RESULT_OK) {
if (data != null) {
if (data.extras!!.containsKey("confirmPIN2")) {
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
newPIN2 = data.getStringExtra("newPIN2")
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_SWAP_PIN)
} else {
val intent = Intent(context, RequestPINActivity::class.java)
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("newPIN2", data.getStringExtra("newPIN2"))
intent.putExtra("mode", RequestPINActivity.Mode.ConfirmNewPIN2.toString())
intent.putExtra("mode", PinRequestActivity.Mode.ConfirmNewPIN2.toString())
startActivityForResult(intent, REQUEST_CODE_ENTER_NEW_PIN2)
}
}
@ -168,8 +168,8 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
}
if (resultCode == CreateNewWalletActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) {
requestPIN2Count++
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_SWAP_PIN)
@ -206,8 +206,8 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
}
if (resultCode == CreateNewWalletActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) {
requestPIN2Count++
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_PURGE)
@ -432,8 +432,8 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
private fun doSetPin() {
requestPIN2Count = 0
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestNewPIN.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestNewPIN.toString())
newPIN = ""
newPIN2 = ""
startActivityForResult(intent, REQUEST_CODE_ENTER_NEW_PIN)
@ -441,8 +441,8 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
private fun doResetPin() {
requestPIN2Count = 0
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
newPIN = PINStorage.getDefaultPIN()
@ -452,8 +452,8 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
private fun doResetPin2() {
requestPIN2Count = 0
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
newPIN = ""
@ -463,8 +463,8 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
private fun doResetPins() {
requestPIN2Count = 0
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
newPIN = PINStorage.getDefaultPIN()
@ -474,8 +474,8 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
private fun doSetPin2() {
requestPIN2Count = 0
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestNewPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestNewPIN2.toString())
newPIN = ""
newPIN2 = ""
startActivityForResult(intent, REQUEST_CODE_ENTER_NEW_PIN2)
@ -491,15 +491,15 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
return
}
val intent = Intent(context, RequestPINActivity::class.java)
intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString())
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_PURGE)
}
private fun startSwapPINActivity() {
val intent = Intent(context, SwapPINActivity::class.java)
val intent = Intent(context, PinSwapActivity::class.java)
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
intent.putExtra("newPIN", newPIN)