@Override public void parse() { if (Constants.MIMETYPE_TRANSACTION.equals(inputType)) { try { final Transaction tx = new Transaction(Constants.NETWORK_PARAMETERS, input); handleDirectTransaction(tx); } catch (final VerificationException x) { log.info("got invalid transaction", x); error(R.string.input_parser_invalid_transaction, x.getMessage()); } } else if (PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(inputType)) { try { parseAndHandlePaymentRequest(input); } catch (final PaymentProtocolException.PkiVerificationException x) { log.info("got unverifyable payment request", x); error(R.string.input_parser_unverifyable_paymentrequest, x.getMessage()); } catch (final PaymentProtocolException x) { log.info("got invalid payment request", x); error(R.string.input_parser_invalid_paymentrequest, x.getMessage()); } } else { cannotClassify(inputType); } }
@Override public void parse() { if (PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(inputType)) { ByteArrayOutputStream baos = null; try { baos = new ByteArrayOutputStream(); Io.copy(is, baos); parseAndHandlePaymentRequest(baos.toByteArray()); } catch (final IOException x) { log.info("i/o error while fetching payment request", x); error(R.string.input_parser_io_error, x.getMessage()); } catch (final PaymentProtocolException.PkiVerificationException x) { log.info("got unverifyable payment request", x); error(R.string.input_parser_unverifyable_paymentrequest, x.getMessage()); } catch (final PaymentProtocolException x) { log.info("got invalid payment request", x); error(R.string.input_parser_invalid_paymentrequest, x.getMessage()); } finally { try { if (baos != null) baos.close(); } catch (IOException x) { x.printStackTrace(); } try { is.close(); } catch (IOException x) { x.printStackTrace(); } } } else { cannotClassify(inputType); } }