Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- protected OperationResult doInBackground(Integer... integers) {
- byte uid[] = new byte[16];
- byte uidLen[] = new byte[1];
- int bankType[] = new int[1];
- int cardType[] = new int[1];
- final int balance[] = new int[1];
- final String cardNumber[] = new String[1];
- final String report[] = new String[1];
- final int errorCode[] = new int[1];
- int amount = integers[0];
- Date date = new Date();
- String StrDate = new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault()).format(date);
- OperationResult result;
- if (myReader.findCard(TIMED_OUT, uid, uidLen, cardType)) {
- publishProgress(PROGRESS_CARD_DETECTED);
- try {
- result = new DeductOperationResult(true, String.format(Locale.getDefault(), "Success \nBalance:%d ", balance[0]));
- // if (myReader.readerGetBalance(cardType[0], StrDate, bankType, balance, cardNumber, errorCode)) {
- if (myReader.readerGetBalance(cardType[0], StrDate, bankType, balance, cardNumber, errorCode)) {
- Log.d("cardNumber", cardNumber[0]);
- int balanceBeforeDeductValue = balance[0];
- PreferenceManagers.setDataWithSameKey("BalanceSebelum", String.valueOf(balanceBeforeDeductValue), getContext());
- String balanceBeforeDeduct = PreferenceManagers.getData("BalanceSebelum", getContext());
- String balanceAfterDeduct = PreferenceManagers.getData("BalanceSesudah", getContext());
- String failedCard = "";
- boolean isHasFailedCard = PreferenceManagers.hasData("lastFailedCard", getContext());
- failedCard = PreferenceManagers.getData("lastFailedCard", getContext());
- if (isHasFailedCard)
- failedCard = PreferenceManagers.getData("lastFailedCard", getContext());
- if (isHasFailedCard && failedCard.equalsIgnoreCase(cardNumber[0])) {
- failedCard = PreferenceManagers.getData("lastFailedCard", getContext());
- Log.d("LastFailedCard", failedCard);
- if(Integer.parseInt(balanceAfterDeduct) < Integer.parseInt(balanceBeforeDeduct)){
- Log.d("Status Saldo", "Saldo Terpotong");
- }else{
- PreferenceManagers.setDataWithSameKey("lastFailedCard", cardNumber[0], getContext());
- Log.d("Status Saldo", "Saldo Belum Terpotong");
- if (myReader.readerDeduct(cardType[0], StrDate, amount, bankType, balance, cardNumber, report, errorCode)) {
- result = new DeductOperationResult(true, String.format(Locale.getDefault(), "Success \nBalance:%d ", balance[0]));
- String number = cardNumber[0];
- myReader.beep();
- ((DeductOperationResult) result).setAmount(amount);
- ((DeductOperationResult) result).setBalance(balance[0]);
- ((DeductOperationResult) result).setBankType(bankType[0]);
- ((DeductOperationResult) result).setCardNumber(number);
- ((DeductOperationResult) result).setCardNumber(cardNumber[0]);
- ((DeductOperationResult) result).setErrorCode(errorCode[0]);
- ((DeductOperationResult) result).setReport(report[0]);
- ((DeductOperationResult) result).setUid(uid);
- ((DeductOperationResult) result).setUidLen(uidLen[0]);
- PreferenceManagers.setDataWithSameKey("BalanceSesudah",String.valueOf( ((DeductOperationResult) result).getBalance()), getContext());
- Log.d("balance sebelum", ""+ balanceBeforeDeduct);
- Log.d("balance sesudah", ""+ ((DeductOperationResult) result).getBalance());
- Log.e("errorCode0", String.format(Locale.getDefault(), "%04X", errorCode[0]));
- } else {
- result = new DeductOperationResult(true, String.format(Locale.getDefault(), "Success \nBalance:%d ", balance[0]));
- Log.e("errorCode1", String.format(Locale.getDefault(), "%04X", errorCode[0]));
- ((DeductOperationResult) result).setCardNumber(cardNumber[0]);
- ((DeductOperationResult) result).setBalance(balance[0]);
- ((DeductOperationResult) result).setErrorCode(errorCode[0]);
- PreferenceManagers.setDataWithSameKey("BalanceSesudah",String.valueOf( ((DeductOperationResult) result).getBalance()), getContext());
- Log.d("balance sebelum", ""+ balanceBeforeDeduct);
- Log.d("balance sesudah", ""+ ((DeductOperationResult) result).getBalance());
- }
- }
- }else{
- Log.e("error", "Different card, before " + failedCard + " after " + cardNumber[0]);
- }
- }else{
- Log.e("errorCode2", String.format(Locale.getDefault(), "%04X", errorCode[0]));
- result = new DeductOperationResult(false, String.format(Locale.getDefault(), "Failed \nError:%04X ", errorCode[0]));
- ((DeductOperationResult) result).setErrorCode(errorCode[0]);
- Log.d("balance4", ""+ ((DeductOperationResult) result).getBalance());
- }
- // }
- /*} else {
- Log.e("errorCode2", String.format(Locale.getDefault(), "%04X", errorCode[0]));
- result = new DeductOperationResult(false, String.format(Locale.getDefault(), "Failed \nError:%04X ", errorCode[0]));
- ((DeductOperationResult) result).setErrorCode(errorCode[0]);
- }*/
- } catch (Exception e) {
- Log.e("errorCode3", e.getMessage());
- result = new DeductOperationResult(false, e.getMessage());
- ((DeductOperationResult) result).setErrorCode(0);
- }
- } else {
- Log.e("errorCode4", "TimeOut");
- result = new DeductOperationResult(false, "Timeout");
- ((DeductOperationResult) result).setErrorCode(0);
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement