diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index 7d90544549..05ff8b2aaf 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.java b/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.java
index 6e3e5b204b..89b61592fe 100644
--- a/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.java
+++ b/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.java
@@ -34,9 +34,7 @@ public class EmptyWalletActivity extends AppCompatActivity implements NfcAdapter
private static final int REQUEST_CODE_VERIFY_CARD = 4;
private TangemCard mCard;
- private TextView tvCardID, tvIssuer, tvIssuerData, tvBlockchain;
private ProgressBar progressBar;
- private ImageView ivBlockchain, ivPIN, ivPIN2orSecurityDelay, ivDeveloperVersion;
private NfcManager mNfcManager;
private boolean lastReadSuccess = true;
@@ -55,12 +53,12 @@ public class EmptyWalletActivity extends AppCompatActivity implements NfcAdapter
mCard = new TangemCard(getIntent().getStringExtra("UID"));
mCard.LoadFromBundle(getIntent().getExtras().getBundle("Card"));
- tvCardID = findViewById(R.id.tvCardID);
+ TextView tvCardID = findViewById(R.id.tvCardID);
tvCardID.setText(mCard.getCIDDescription());
- tvIssuer = findViewById(R.id.tvIssuer);
- tvIssuerData = findViewById(R.id.tvIssuerData);
- tvBlockchain = findViewById(R.id.tvBlockchain);
+ TextView tvIssuer = findViewById(R.id.tvIssuer);
+ TextView tvIssuerData = findViewById(R.id.tvIssuerData);
+ TextView tvBlockchain = findViewById(R.id.tvBlockchain);
tvIssuer.setText(mCard.getIssuerDescription());
tvIssuerData.setText(mCard.getIssuerDataDescription());
@@ -69,84 +67,50 @@ public class EmptyWalletActivity extends AppCompatActivity implements NfcAdapter
tvBlockchain.setText(mCard.getBlockchainName());
progressBar = findViewById(R.id.progressBar);
- ivBlockchain = findViewById(R.id.imgBlockchain);
- ivPIN = findViewById(R.id.imgPIN);
- ivPIN2orSecurityDelay = findViewById(R.id.imgPIN2orSecurityDelay);
- ivDeveloperVersion = findViewById(R.id.imgDeveloperVersion);
+ ImageView ivBlockchain = findViewById(R.id.imgBlockchain);
+ ImageView ivPIN = findViewById(R.id.imgPIN);
+ ImageView ivPIN2orSecurityDelay = findViewById(R.id.imgPIN2orSecurityDelay);
+ ImageView ivDeveloperVersion = findViewById(R.id.imgDeveloperVersion);
+ Button btnNewWallet = findViewById(R.id.btnNewWallet);
ivBlockchain.setImageResource(mCard.getBlockchain().getImageResource(this, mCard.getTokenSymbol()));
if (mCard.useDefaultPIN1()) {
ivPIN.setImageResource(R.drawable.unlock_pin1);
- ivPIN.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(EmptyWalletActivity.this, "This banknote is protected by default PIN1 code", Toast.LENGTH_LONG).show();
- }
- });
+ ivPIN.setOnClickListener(v -> Toast.makeText(EmptyWalletActivity.this, R.string.this_banknote_protected_default_PIN1_code, Toast.LENGTH_LONG).show());
} else {
ivPIN.setImageResource(R.drawable.lock_pin1);
- ivPIN.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(EmptyWalletActivity.this, "This banknote is protected by user's PIN1 code", Toast.LENGTH_LONG).show();
- }
- });
+ ivPIN.setOnClickListener(v -> Toast.makeText(EmptyWalletActivity.this, R.string.this_banknote_protected_user_PIN1_code, Toast.LENGTH_LONG).show());
}
if (mCard.getPauseBeforePIN2() > 0 && (mCard.useDefaultPIN2() || !mCard.useSmartSecurityDelay())) {
ivPIN2orSecurityDelay.setImageResource(R.drawable.timer);
- ivPIN2orSecurityDelay.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(EmptyWalletActivity.this, String.format("This banknote will enforce %.0f seconds security delay for all operations requiring PIN2 code", mCard.getPauseBeforePIN2() / 1000.0), Toast.LENGTH_LONG).show();
- }
- });
+ ivPIN2orSecurityDelay.setOnClickListener(v -> Toast.makeText(EmptyWalletActivity.this, String.format("This banknote will enforce %.0f seconds security delay for all operations requiring PIN2 code", mCard.getPauseBeforePIN2() / 1000.0), Toast.LENGTH_LONG).show());
} else if (mCard.useDefaultPIN2()) {
ivPIN2orSecurityDelay.setImageResource(R.drawable.unlock_pin2);
- ivPIN2orSecurityDelay.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(EmptyWalletActivity.this, "This banknote is protected by default PIN2 code", Toast.LENGTH_LONG).show();
- }
- });
+ ivPIN2orSecurityDelay.setOnClickListener(v -> Toast.makeText(EmptyWalletActivity.this, R.string.this_banknote_protected_default_PIN2_code, Toast.LENGTH_LONG).show());
} else {
ivPIN2orSecurityDelay.setImageResource(R.drawable.lock_pin2);
- ivPIN2orSecurityDelay.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(EmptyWalletActivity.this, "This banknote is protected by user's PIN2 code", Toast.LENGTH_LONG).show();
- }
- });
+ ivPIN2orSecurityDelay.setOnClickListener(v -> Toast.makeText(EmptyWalletActivity.this, R.string.this_banknote_protected_user_PIN2_code, Toast.LENGTH_LONG).show());
}
-
if (mCard.useDevelopersFirmware()) {
ivDeveloperVersion.setImageResource(R.drawable.ic_developer_version);
ivDeveloperVersion.setVisibility(View.VISIBLE);
- ivDeveloperVersion.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(EmptyWalletActivity.this, "Unlocked banknote, only for development use", Toast.LENGTH_LONG).show();
- }
- });
+ ivDeveloperVersion.setOnClickListener(v -> Toast.makeText(EmptyWalletActivity.this, R.string.unlocked_banknote_only_development_use, Toast.LENGTH_LONG).show());
} else {
ivDeveloperVersion.setVisibility(View.INVISIBLE);
}
- Button btnNewWallet = findViewById(R.id.btnNewWallet);
- btnNewWallet.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //CreateSelectBlockchainDialog();
- requestPIN2Count = 0;
- Intent intent = new Intent(getBaseContext(), RequestPINActivity.class);
- intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString());
- intent.putExtra("UID", mCard.getUID());
- intent.putExtra("Card", mCard.getAsBundle());
- startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2);
- }
+ btnNewWallet.setOnClickListener(v -> {
+ //CreateSelectBlockchainDialog();
+ requestPIN2Count = 0;
+ Intent intent = new Intent(getBaseContext(), RequestPINActivity.class);
+ intent.putExtra("mode", RequestPINActivity.Mode.RequestPIN2.toString());
+ intent.putExtra("UID", mCard.getUID());
+ intent.putExtra("Card", mCard.getAsBundle());
+ startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2);
});
if (getIntent().getExtras().containsKey(NfcAdapter.EXTRA_TAG)) {
@@ -209,7 +173,6 @@ public class EmptyWalletActivity extends AppCompatActivity implements NfcAdapter
doCreateNewWallet();
}
}
-
}
@Override
@@ -243,12 +206,9 @@ public class EmptyWalletActivity extends AppCompatActivity implements NfcAdapter
}
public void OnReadStart(CardProtocol cardProtocol) {
- progressBar.post(new Runnable() {
- @Override
- public void run() {
- progressBar.setVisibility(View.VISIBLE);
- progressBar.setProgress(5);
- }
+ progressBar.post(() -> {
+ progressBar.setVisibility(View.VISIBLE);
+ progressBar.setProgress(5);
});
}
@@ -258,76 +218,59 @@ public class EmptyWalletActivity extends AppCompatActivity implements NfcAdapter
if (cardProtocol != null) {
if (cardProtocol.getError() == null) {
- progressBar.post(new Runnable() {
- @Override
- public void run() {
- progressBar.setProgress(100);
- progressBar.setProgressTintList(ColorStateList.valueOf(Color.GREEN));
- Intent intent = new Intent(EmptyWalletActivity.this, VerifyCardActivity.class);
- // TODO обновить карту mCard
- intent.putExtra("UID", cardProtocol.getCard().getUID());
- intent.putExtra("Card", cardProtocol.getCard().getAsBundle());
- startActivityForResult(intent, REQUEST_CODE_VERIFY_CARD);
- //addCard(cardProtocol.getCard());
- }
+ progressBar.post(() -> {
+ progressBar.setProgress(100);
+ progressBar.setProgressTintList(ColorStateList.valueOf(Color.GREEN));
+ Intent intent = new Intent(EmptyWalletActivity.this, VerifyCardActivity.class);
+ // TODO обновить карту mCard
+ intent.putExtra("UID", cardProtocol.getCard().getUID());
+ intent.putExtra("Card", cardProtocol.getCard().getAsBundle());
+ startActivityForResult(intent, REQUEST_CODE_VERIFY_CARD);
+ //addCard(cardProtocol.getCard());
});
} else {
// remove last UIDs because of error and no card read
- progressBar.post(new Runnable() {
- @Override
- public void run() {
- lastReadSuccess = false;
- if (cardProtocol.getError() instanceof CardProtocol.TangemException_ExtendedLengthNotSupported) {
- if (!NoExtendedLengthSupportDialog.allreadyShowed) {
- new NoExtendedLengthSupportDialog().show(getFragmentManager(), "NoExtendedLengthSupportDialog");
- }
- } else {
- Toast.makeText(EmptyWalletActivity.this, "Try to scan again", Toast.LENGTH_LONG).show();
+ progressBar.post(() -> {
+ lastReadSuccess = false;
+ if (cardProtocol.getError() instanceof CardProtocol.TangemException_ExtendedLengthNotSupported) {
+ if (!NoExtendedLengthSupportDialog.allreadyShowed) {
+ new NoExtendedLengthSupportDialog().show(getFragmentManager(), NoExtendedLengthSupportDialog.TAG);
}
- progressBar.setProgress(100);
- progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));
+ } else {
+ Toast.makeText(EmptyWalletActivity.this, "Try to scan again", Toast.LENGTH_LONG).show();
}
+ progressBar.setProgress(100);
+ progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));
});
}
}
- progressBar.postDelayed(new Runnable() {
- @Override
- public void run() {
- try {
- progressBar.setProgress(0);
- progressBar.setProgressTintList(ColorStateList.valueOf(Color.DKGRAY));
- progressBar.setVisibility(View.INVISIBLE);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ 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(new Runnable() {
- @Override
- public void run() {
- progressBar.setProgress(progress);
- }
- });
+ progressBar.post(() -> progressBar.setProgress(progress));
}
public void OnReadCancel() {
verifyCardTask = null;
- progressBar.postDelayed(new Runnable() {
- @Override
- public void run() {
- try {
- progressBar.setProgress(0);
- progressBar.setProgressTintList(ColorStateList.valueOf(Color.DKGRAY));
- progressBar.setVisibility(View.INVISIBLE);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ progressBar.postDelayed(() -> {
+ try {
+ progressBar.setProgress(0);
+ progressBar.setProgressTintList(ColorStateList.valueOf(Color.DKGRAY));
+ progressBar.setVisibility(View.INVISIBLE);
+ } catch (Exception e) {
+ e.printStackTrace();
}
}, 500);
}
@@ -359,5 +302,4 @@ public class EmptyWalletActivity extends AppCompatActivity implements NfcAdapter
startActivityForResult(intent, REQUEST_CODE_CREATE_NEW_WALLET_ACTIVITY);
}
-
-}
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/tangem/presentation/activity/SavePINActivity.java b/app/src/main/java/com/tangem/presentation/activity/SavePINActivity.java
index d0d2c20c67..8270dfe0fb 100644
--- a/app/src/main/java/com/tangem/presentation/activity/SavePINActivity.java
+++ b/app/src/main/java/com/tangem/presentation/activity/SavePINActivity.java
@@ -39,8 +39,6 @@ import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
-//import com.afollestad.materialdialogs.AlertDialogWrapper;
-
public class SavePINActivity extends AppCompatActivity implements FingerprintHelper.FingerprintHelperListener {
private TextView tvPIN;
@@ -212,12 +210,7 @@ public class SavePINActivity extends AppCompatActivity implements FingerprintHel
if (UsePIN2) {
if (PINStorage.haveEncryptedPIN2()) {
if (!testFingerPrintSettings()) {
- tvPIN.postDelayed(new Runnable() {
- @Override
- public void run() {
- finish();
- }
- }, 2000);
+ tvPIN.postDelayed(this::finish, 2000);
return;
}
onConfirmAction = OnConfirmAction.Delete;
@@ -230,12 +223,7 @@ public class SavePINActivity extends AppCompatActivity implements FingerprintHel
} else {
if (chkUseFingerprint.isChecked() || PINStorage.haveEncryptedPIN()) {
if (!testFingerPrintSettings()) {
- tvPIN.postDelayed(new Runnable() {
- @Override
- public void run() {
- finish();
- }
- }, 2000);
+ tvPIN.postDelayed(this::finish, 2000);
return;
}
onConfirmAction = OnConfirmAction.Delete;
@@ -249,7 +237,6 @@ public class SavePINActivity extends AppCompatActivity implements FingerprintHel
}
}
-
@Override
public void authenticationFailed(String error) {
print(error);
diff --git a/app/src/main/java/com/tangem/presentation/fragment/VerifyCard.java b/app/src/main/java/com/tangem/presentation/fragment/VerifyCard.java
index 28786a2318..8f000e1642 100644
--- a/app/src/main/java/com/tangem/presentation/fragment/VerifyCard.java
+++ b/app/src/main/java/com/tangem/presentation/fragment/VerifyCard.java
@@ -5,12 +5,15 @@ import android.content.Intent;
import android.nfc.NfcAdapter;
import android.nfc.Tag;
import android.os.Bundle;
+import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
+import android.support.v4.content.ContextCompat;
import android.support.v4.widget.SwipeRefreshLayout;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
@@ -20,16 +23,17 @@ import com.tangem.domain.wallet.TangemCard;
import com.tangem.wallet.R;
import java.io.IOException;
+import java.util.Objects;
import java.util.Timer;
import java.util.TimerTask;
public class VerifyCard extends Fragment implements SwipeRefreshLayout.OnRefreshListener, NfcAdapter.ReaderCallback {
- TangemCard mCard;
- TextView tvCardID, tvManufacturer, tvRegistrationDate, tvCardIdentity, tvLastSigned, tvRemainingSignatures, tvReusable, tvOk, tvError, tvMessage,
+ private TangemCard mCard;
+ private TextView tvCardID, tvManufacturer, tvRegistrationDate, tvCardIdentity, tvLastSigned, tvRemainingSignatures, tvReusable, tvError, tvMessage,
tvIssuer, tvIssuerData, tvFeatures, tvBlockchain, tvSignedTx, tvSigningMethod, tvFirmware, tvWalletIdentity, tvWallet;
- ImageView ivBlockchain, ivPIN, ivPIN2orSecurityDelay, ivDeveloperVersion;
- SwipeRefreshLayout mSwipeRefreshLayout;
+ private ImageView ivBlockchain, ivPIN, ivPIN2orSecurityDelay, ivDeveloperVersion;
+ private SwipeRefreshLayout mSwipeRefreshLayout;
private NfcManager mNfcManager;
public VerifyCard() {
@@ -41,15 +45,12 @@ public class VerifyCard extends Fragment implements SwipeRefreshLayout.OnRefresh
}
@Override
- public View onCreateView(final LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
+ public View onCreateView(@NonNull final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fr_verify_card, container, false);
mNfcManager = new NfcManager(this.getActivity(), this);
-
- // SwipeRefreshLayout
mSwipeRefreshLayout = v.findViewById(R.id.swipe_container);
mSwipeRefreshLayout.setOnRefreshListener(this);
@@ -86,23 +87,20 @@ public class VerifyCard extends Fragment implements SwipeRefreshLayout.OnRefresh
tvSignedTx = v.findViewById(R.id.tvSignedTx);
tvSigningMethod = v.findViewById(R.id.tvSigningMethod);
- tvOk = v.findViewById(R.id.tvOk);
- if (tvOk != null) {
- tvOk.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent data = prepareResultIntent();
- data.putExtra("modification", "update");
- getActivity().setResult(Activity.RESULT_OK, data);
- getActivity().finish();
- }
- });
- }
+ Button btnOk = v.findViewById(R.id.btnOk);
+
+ btnOk.setOnClickListener(v1 -> {
+ Intent data = prepareResultIntent();
+ data.putExtra("modification", "update");
+ getActivity().setResult(Activity.RESULT_OK, data);
+ getActivity().finish();
+ });
+
tvWallet = v.findViewById(R.id.tvWallet);
tvWalletIdentity = v.findViewById(R.id.tvWalletIdentity);
- UpdateViews();
+ updateViews();
// if (NeedUpdate) {
// mSwipeRefreshLayout.setRefreshing(true);
@@ -116,7 +114,25 @@ public class VerifyCard extends Fragment implements SwipeRefreshLayout.OnRefresh
return v;
}
- void UpdateViews() {
+ @Override
+ public void onResume() {
+ super.onResume();
+ mNfcManager.onResume();
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ mNfcManager.onPause();
+ }
+
+ @Override
+ public void onStop() {
+ super.onStop();
+ mNfcManager.onStop();
+ }
+
+ void updateViews() {
try {
if (timerHideErrorAndMessage != null) {
timerHideErrorAndMessage.cancel();
@@ -142,11 +158,12 @@ public class VerifyCard extends Fragment implements SwipeRefreshLayout.OnRefresh
tvManufacturer.setText(mCard.getManufacturer().getOfficialName());
if (mCard.isManufacturerConfirmed() && mCard.isCardPublicKeyValid()) {
- tvCardIdentity.setText("Attested");
- tvCardIdentity.setTextColor(getResources().getColor(R.color.confirmed, getActivity().getTheme()));
+ tvCardIdentity.setText(R.string.attested);
+ tvCardIdentity.setTextColor(ContextCompat.getColor(Objects.requireNonNull(getContext()), R.color.confirmed));
+
} else {
- tvCardIdentity.setText("Not confirmed");
- tvCardIdentity.setTextColor(getResources().getColor(R.color.not_confirmed, getActivity().getTheme()));
+ tvCardIdentity.setText(R.string.not_confirmed);
+ tvCardIdentity.setTextColor(ContextCompat.getColor(Objects.requireNonNull(getContext()), R.color.not_confirmed));
}
tvIssuer.setText(mCard.getIssuerDescription());
@@ -158,11 +175,10 @@ public class VerifyCard extends Fragment implements SwipeRefreshLayout.OnRefresh
tvBlockchain.setText(mCard.getBlockchainName());
ivBlockchain.setImageResource(mCard.getBlockchain().getImageResource(this.getContext(), mCard.getTokenSymbol()));
- if (mCard.isReusable()) {
- tvReusable.setText("Reusable");
- } else {
- tvReusable.setText("One-off banknote");
- }
+ if (mCard.isReusable())
+ tvReusable.setText(R.string.reusable);
+ else
+ tvReusable.setText(R.string.one_off_banknote);
tvSigningMethod.setText(mCard.getSigningMethod().getDescription());
@@ -170,16 +186,16 @@ public class VerifyCard extends Fragment implements SwipeRefreshLayout.OnRefresh
tvLastSigned.setText(mCard.getLastSignedDescription());
if (mCard.getRemainingSignatures() == 0) {
- tvRemainingSignatures.setTextColor(getResources().getColor(R.color.not_confirmed, getActivity().getTheme()));
- tvRemainingSignatures.setText("None");
+ tvRemainingSignatures.setTextColor(ContextCompat.getColor(Objects.requireNonNull(getContext()), R.color.not_confirmed));
+ tvRemainingSignatures.setText(R.string.none);
} else if (mCard.getRemainingSignatures() == 1) {
- tvRemainingSignatures.setTextColor(getResources().getColor(R.color.not_confirmed, getActivity().getTheme()));
- tvRemainingSignatures.setText("Last one!");
+ tvRemainingSignatures.setTextColor(ContextCompat.getColor(Objects.requireNonNull(getContext()), R.color.not_confirmed));
+ tvRemainingSignatures.setText(R.string.last_one);
} else if (mCard.getRemainingSignatures() > 1000) {
- tvRemainingSignatures.setTextColor(getResources().getColor(R.color.confirmed, getActivity().getTheme()));
- tvRemainingSignatures.setText("Unlimited");
+ tvRemainingSignatures.setTextColor(ContextCompat.getColor(Objects.requireNonNull(getContext()), R.color.confirmed));
+ tvRemainingSignatures.setText(R.string.unlimited);
} else {
- tvRemainingSignatures.setTextColor(getResources().getColor(R.color.confirmed, getActivity().getTheme()));
+ tvRemainingSignatures.setTextColor(ContextCompat.getColor(Objects.requireNonNull(getContext()), R.color.confirmed));
tvRemainingSignatures.setText(String.valueOf(mCard.getRemainingSignatures()));
}
tvSignedTx.setText(String.valueOf(mCard.getMaxSignatures() - mCard.getRemainingSignatures()));
@@ -228,59 +244,28 @@ public class VerifyCard extends Fragment implements SwipeRefreshLayout.OnRefresh
if (mCard.useDefaultPIN1()) {
ivPIN.setImageResource(R.drawable.unlock_pin1);
- ivPIN.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(getContext(), "This banknote is protected by default PIN1 code", Toast.LENGTH_LONG).show();
- }
- });
+ ivPIN.setOnClickListener(v -> Toast.makeText(getContext(), R.string.this_banknote_protected_default_PIN1_code, Toast.LENGTH_LONG).show());
} else {
ivPIN.setImageResource(R.drawable.lock_pin1);
- ivPIN.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(getContext(), "This banknote is protected by user's PIN1 code", Toast.LENGTH_LONG).show();
- }
- });
+ ivPIN.setOnClickListener(v -> Toast.makeText(getContext(), R.string.this_banknote_protected_user_PIN1_code, Toast.LENGTH_LONG).show());
}
if (mCard.getPauseBeforePIN2() > 0 && (mCard.useDefaultPIN2() || !mCard.useSmartSecurityDelay())) {
ivPIN2orSecurityDelay.setImageResource(R.drawable.timer);
- ivPIN2orSecurityDelay.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(getContext(), String.format("This banknote will enforce %.0f seconds security delay for all operations requiring PIN2 code", mCard.getPauseBeforePIN2() / 1000.0), Toast.LENGTH_LONG).show();
- }
- });
+ ivPIN2orSecurityDelay.setOnClickListener(v -> Toast.makeText(getContext(), String.format("This banknote will enforce %.0f seconds security delay for all operations requiring PIN2 code", mCard.getPauseBeforePIN2() / 1000.0), Toast.LENGTH_LONG).show());
} else if (mCard.useDefaultPIN2()) {
ivPIN2orSecurityDelay.setImageResource(R.drawable.unlock_pin2);
- ivPIN2orSecurityDelay.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(getContext(), "This banknote is protected by default PIN2 code", Toast.LENGTH_LONG).show();
- }
- });
+ ivPIN2orSecurityDelay.setOnClickListener(v -> Toast.makeText(getContext(), R.string.this_banknote_protected_default_PIN2_code, Toast.LENGTH_LONG).show());
} else {
ivPIN2orSecurityDelay.setImageResource(R.drawable.lock_pin2);
- ivPIN2orSecurityDelay.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(getContext(), "This banknote is protected by user's PIN2 code", Toast.LENGTH_LONG).show();
- }
- });
+ ivPIN2orSecurityDelay.setOnClickListener(v -> Toast.makeText(getContext(), R.string.this_banknote_protected_user_PIN2_code, Toast.LENGTH_LONG).show());
}
-
if (mCard.useDevelopersFirmware()) {
ivDeveloperVersion.setImageResource(R.drawable.ic_developer_version);
ivDeveloperVersion.setVisibility(View.VISIBLE);
- ivDeveloperVersion.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(getContext(), "Unlocked banknote, only for development use", Toast.LENGTH_LONG).show();
- }
- });
+ ivDeveloperVersion.setOnClickListener(v -> Toast.makeText(getContext(), R.string.unlocked_banknote_only_development_use, Toast.LENGTH_LONG).show());
} else {
ivDeveloperVersion.setVisibility(View.INVISIBLE);
}
@@ -288,29 +273,26 @@ public class VerifyCard extends Fragment implements SwipeRefreshLayout.OnRefresh
if (mCard.getStatus() == TangemCard.Status.Loaded) {
tvWallet.setText(mCard.getShortWalletString());
if (mCard.isWalletPublicKeyValid()) {
- tvWalletIdentity.setText("Possession proved");
- tvWalletIdentity.setTextColor(getResources().getColor(R.color.confirmed, getActivity().getTheme()));
+ tvWalletIdentity.setText(R.string.possession_proved);
+ tvWalletIdentity.setTextColor(ContextCompat.getColor(Objects.requireNonNull(getContext()), R.color.confirmed));
} else {
- tvWalletIdentity.setText("Possession NOT proved");
- tvWalletIdentity.setTextColor(getResources().getColor(R.color.not_confirmed, getActivity().getTheme()));
+ tvWalletIdentity.setText(R.string.possession_not_proved);
+ tvWalletIdentity.setTextColor(ContextCompat.getColor(Objects.requireNonNull(getContext()), R.color.not_confirmed));
}
} else {
- tvWallet.setText("not available");
- tvWalletIdentity.setText("-- -- --");
+ tvWallet.setText(R.string.not_available);
+ tvWalletIdentity.setText(R.string.no_data_string);
}
timerHideErrorAndMessage = new Timer();
timerHideErrorAndMessage.schedule(new TimerTask() {
@Override
public void run() {
- tvError.post(new Runnable() {
- @Override
- public void run() {
- tvMessage.setVisibility(View.GONE);
- tvError.setVisibility(View.GONE);
- mCard.setError(null);
- mCard.setMessage(null);
- }
+ tvError.post(() -> {
+ tvMessage.setVisibility(View.GONE);
+ tvError.setVisibility(View.GONE);
+ mCard.setError(null);
+ mCard.setMessage(null);
});
}
}, 5000);
@@ -330,25 +312,6 @@ public class VerifyCard extends Fragment implements SwipeRefreshLayout.OnRefresh
return data;
}
-
- @Override
- public void onResume() {
- super.onResume();
- mNfcManager.onResume();
- }
-
- @Override
- public void onPause() {
- super.onPause();
- mNfcManager.onPause();
- }
-
- @Override
- public void onStop() {
- super.onStop();
- mNfcManager.onStop();
- }
-
@Override
public void onTagDiscovered(Tag tag) {
try {
@@ -359,4 +322,4 @@ public class VerifyCard extends Fragment implements SwipeRefreshLayout.OnRefresh
}
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_empty_wallet.xml b/app/src/main/res/layout/activity_empty_wallet.xml
index 87535e8ea1..54f8e142aa 100644
--- a/app/src/main/res/layout/activity_empty_wallet.xml
+++ b/app/src/main/res/layout/activity_empty_wallet.xml
@@ -35,18 +35,12 @@
android:textAlignment="center"
android:textSize="@dimen/text_size_1_small"/>
-
+ android:text="@string/create_wallet"/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_prepare_payment.xml b/app/src/main/res/layout/activity_prepare_payment.xml
index ec077dbd95..86a4d11508 100644
--- a/app/src/main/res/layout/activity_prepare_payment.xml
+++ b/app/src/main/res/layout/activity_prepare_payment.xml
@@ -243,18 +243,12 @@
-
diff --git a/app/src/main/res/layout/activity_save_pin.xml b/app/src/main/res/layout/activity_save_pin.xml
index 8ec157d5ce..d4f21548a3 100644
--- a/app/src/main/res/layout/activity_save_pin.xml
+++ b/app/src/main/res/layout/activity_save_pin.xml
@@ -174,12 +174,11 @@
android:id="@+id/chkUseFingerprint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_alignBottom="@id/btnContinue"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="4dp"
android:drawableEnd="@mipmap/ic_fp"
android:drawablePadding="8dp"
- android:text="Protect with fingerprint"/>
+ android:text="@string/protect_with_fingerprint"/>
+ android:text="@string/save"
+ android:textColor="@color/white"/>
+ android:text="@string/delete"
+ android:textColor="@color/white"/>
diff --git a/app/src/main/res/layout/fr_verify_card.xml b/app/src/main/res/layout/fr_verify_card.xml
index 8c939a4609..049b15bc23 100644
--- a/app/src/main/res/layout/fr_verify_card.xml
+++ b/app/src/main/res/layout/fr_verify_card.xml
@@ -15,8 +15,8 @@
android:id="@+id/rlToolButtons"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:background="@color/btn_light"
- android:backgroundTint="@color/colorPrimary"
+
+
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent">
@@ -26,17 +26,11 @@
android:layout_height="40dp"
android:orientation="horizontal">
-
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index acac43f935..c9558f1a48 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -172,7 +172,21 @@
Manufacturer
Card identity
Attested
+ Not confirmed
+ Reusable
+ None
+ Last one!
+ Unlimited
+ One-off banknote
Firmware
Registration date
+ Possession proved
+ Possession NOT proved
+ not available
+
+
+ Save
+ Delete
+ Protect with fingerprint
\ No newline at end of file