@Override public void run() { try { mIsoDep.connect(); mUiCallbacks.clearMessages(); mUiCallbacks.onOkay(mContext.getString(R.string.manual_connected)); mUiCallbacks.setUserSelectListener(this); try { synchronized(mDisconnectWaiter) { mDisconnectWaiter.wait(); } Log.d(TAG, "exiting manual select thread!"); } catch (InterruptedException e) { // should not happen Log.e(TAG, "interrupted exception!"); } } catch (TagLostException e) { mUiCallbacks.onError(mContext.getString(R.string.tag_lost_err)); } catch (IOException e) { mUiCallbacks.onError(e.getMessage()); } finally { try { mIsoDep.close(); } catch (IOException e) { } } }
mIsoDep.close(); } catch (IOException e) {
@Override public void run() { boolean err = false; try { mIsoDep.connect(); Log.d(TAG, "select app: " + mAid); ResponseApdu rspApdu = sendAndRcv(new SelectApdu(mAidBytes), true); if (rspApdu.isStatus(SW_NO_ERROR)) { mUiCallbacks.onOkay(mContext.getString(R.string.select_app_ok, rspApdu.getSW1SW2())); } else { mUiCallbacks.onError( mContext.getString(R.string.select_app_err, rspApdu.getSW1SW2(), ApduParser.parse(false, rspApdu.toBytes()))); } mIsoDep.close(); } catch (TagLostException e) { mUiCallbacks.onError(mContext.getString(R.string.tag_lost_err)); err = true; } catch (IOException e) { mUiCallbacks.onError(e.getMessage()); err = true; } mUiCallbacks.onFinish(err); } }
@Override public void run() { try { mIsoDep.connect(); // select ppse if (selectPpse()) { if (mTestMode == Launcher.TEST_MODE_APP_SELECT) { selectApp(mAid); } else if (mPpseDdf != null) { // process each app found in ppse select response for (EMVApp app : mPpseDdf.getEMVApps()) { if (selectApp(app)) { if (initiateAppProcessing(app)) { readAppData(app); } } } } } mIsoDep.close(); } catch (TagLostException e) { mUiCallbacks .onError(mContext.getString(R.string.tag_lost_err)); } catch (IOException e) { mUiCallbacks.onError(e.getMessage()); } catch (TLVException e) { mUiCallbacks.onError(e.getMessage()); } }