@Override public void onNewIntent(Intent intent) { if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) { Tag tag = intent.getExtras().getParcelable(NfcAdapter.EXTRA_TAG); if (Arrays.asList(tag.getTechList()).contains("android.nfc.tech.IsoDep")) { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); String passportNumber = preferences.getString(KEY_PASSPORT_NUMBER, null); String expirationDate = convertDate(preferences.getString(KEY_EXPIRATION_DATE, null)); String birthDate = convertDate(preferences.getString(KEY_BIRTH_DATE, null)); if (passportNumber != null && !passportNumber.isEmpty() && expirationDate != null && !expirationDate.isEmpty() && birthDate != null && !birthDate.isEmpty()) { BACKeySpec bacKey = new BACKey(passportNumber, birthDate, expirationDate); new ReadTask(IsoDep.get(tag), bacKey).execute(); mainLayout.setVisibility(View.GONE); loadingLayout.setVisibility(View.VISIBLE); } else { Snackbar.make(passportNumberView, R.string.error_input, Snackbar.LENGTH_SHORT).show(); } } } }
Log.d(TAG, "Ignore " + tech); } else if (tech.equals(android.nfc.tech.IsoDep.class.getName())) { android.nfc.tech.IsoDep isoDep = IsoDep.get(tag); if(isoDep == null) { throw new IllegalArgumentException("No IsoDep");
tagTech = NfcV.get(tag); } else if (tech.equals(android.nfc.tech.IsoDep.class.getName())) { tagTech = IsoDep.get(tag); } else if (tech.equals(android.nfc.tech.MifareClassic.class.getName())) { tagTech = MifareClassic.get(tag);
@Override public void onTagDiscovered(Tag tag) { doTapFeedback(); clearImage(); // maybe clear console or show separator, depends on settings if (mAutoClear) { clearMessages(); } else { addMessageSeparator(); } // get IsoDep handle and run xcvr thread IsoDep isoDep = IsoDep.get(tag); if (isoDep == null) { onError(getString(R.string.wrong_tag_err)); } else { ReaderXcvr xcvr = new PaymentReaderXcvr(isoDep, "", this, TEST_MODE_EMV_READ); new Thread(xcvr).start(); } }
@Override public void onTagDiscovered(Tag tag) { doTapFeedback(); clearImage(); // maybe clear console or show separator, depends on settings if (mAutoClear) { clearMessages(); } else { // two separators between taps/discoveries addMessageSeparator(); addMessageSeparator(); } // get IsoDep handle and run xcvr thread IsoDep isoDep = IsoDep.get(tag); if (isoDep == null) { onError(getString(R.string.wrong_tag_err)); } else { List<SmartcardApp> memberApps = mGrpToMembersMap.get(mSelectedGrpPos); new Thread(new BatchReaderXcvr(isoDep, memberApps, this)).start(); } }
IsoDep isoDep = IsoDep.get(tag); if (isoDep != null) { try {
IsoDep isoDep = IsoDep.get(tag); if (isoDep == null) { onError(getString(R.string.wrong_tag_err));
Log.d(TAG, "Ignore " + tech); } else if (tech.equals(android.nfc.tech.IsoDep.class.getName())) { android.nfc.tech.IsoDep isoDep = IsoDep.get(tag);