From 2ed8c3fcc26ba550507b5d804acaa9f0b43df3cc Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 15 Jun 2018 14:31:28 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .idea/caches/build_file_checksums.ser | Bin 536 -> 536 bytes .../activity/EmptyWalletActivity.java | 178 ++++++----------- .../activity/SavePINActivity.java | 17 +- .../presentation/fragment/VerifyCard.java | 181 +++++++----------- .../main/res/layout/activity_empty_wallet.xml | 12 +- .../res/layout/activity_loaded_wallet.xml | 22 --- .../res/layout/activity_prepare_payment.xml | 14 +- app/src/main/res/layout/activity_save_pin.xml | 23 +-- app/src/main/res/layout/fr_verify_card.xml | 20 +- app/src/main/res/values/strings.xml | 14 ++ 10 files changed, 169 insertions(+), 312 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 7d905445491c6f0f0f5f3b860cf47092d78f5e2b..05ff8b2aafb19e8315b7f40ec209bd6106bfe75c 100644 GIT binary patch delta 16 YcmbQiGJ|Epbk-E6_pk47oKwRH069trP5=M^ delta 16 YcmbQiGJ|Epbk^kmp866S=hQF)05ntvApigX 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"/> -