Fazemos algumas coisas dentro do metodo onActivityResult, e ta ocorrendo um problema de sincronismo com a thread de UI. Parece que a thread de UI está ficando bloqueada, lançando uma tela preta. O fluxo de negocio dentro dela é executado direitinho, porém o usuário para de ver a tela.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
try {
if (requestCode == RequestCodeEnum.PAY.getCode() || requestCode == RequestCodeEnum.REFUND.getCode()) {
if(resultCode == RESULT_OK) {
JSONObject json = new JSONObject();
String cardNumber = RetrieveCardNumberByJsonUtils.execute(data.getExtras().getString("TIPO_CAMPOS"));
String cardBin = RetrieveCardBinUtils.execute(cardNumber);
json.put("acquirer", data.getExtras().getString("REDE_AUT"));
json.put("brand", data.getExtras().getString("BANDEIRA"));
json.put("nsuSitef", data.getExtras().getString("NSU_SITEF"));
json.put("nsuHost", data.getExtras().getString("NSU_HOST"));
json.put("authorizationCode", data.getExtras().getString("COD_AUTORIZACAO"));
json.put("installmentKind", data.getExtras().getString("TIPO_PARC"));
json.put("card", cardNumber);
json.put("bin", cardBin);
json.put("branchCheckingCopy", data.getExtras().getString("VIA_ESTABELECIMENTO"));
json.put("clientCheckingCopy", data.getExtras().getString("VIA_CLIENTE"));
json.put("typeFields", data.getExtras().getString("TIPO_CAMPOS"));
performAutomaticPrinting(data.getExtras().getString("VIA_ESTABELECIMENTO"), data.getExtras().getString("VIA_CLIENTE"));
mResult.success(json.toString());
} else {
mResult.error("422", "Falha ao realizar transação do Sitef", resultCode + "".concat(data.getExtras().toString()));
}
}
} catch (Exception e) {
mResult.error("422", "Falha ao realizar transação no Sitef.", e.getLocalizedMessage());
}
}