Commit 12de395f authored by Wahyu Pratama's avatar Wahyu Pratama

init

parent 37dd675a
...@@ -44,6 +44,7 @@ dependencies { ...@@ -44,6 +44,7 @@ dependencies {
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0' implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
implementation 'com.jakewharton:butterknife:10.2.0' implementation 'com.jakewharton:butterknife:10.2.0'
implementation 'com.bugfender.sdk:android:3.+'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0' annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
annotationProcessor "androidx.room:room-compiler:2.2.5" annotationProcessor "androidx.room:room-compiler:2.2.5"
...@@ -51,7 +52,7 @@ dependencies { ...@@ -51,7 +52,7 @@ dependencies {
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'io.reactivex.rxjava2:rxjava:2.2.10' implementation 'io.reactivex.rxjava2:rxjava:2.2.10'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0' implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
implementation(group: 'com.mdd.payment', name: 'aar-deviceid-release', version: '2.0.5', ext: 'aar') implementation(group: 'com.mdd.payment', name: 'aar-deviceid-release', version: '2.0.4', ext: 'aar')
implementation(group: 'com.mdd.service', name: 'partner-connect', version: '2.2.7', ext: 'aar') implementation(group: 'com.mdd.service', name: 'partner-connect', version: '2.2.7', ext: 'aar')
implementation(group: 'com.mdd.payment', name: 'mybanklibrary-release', version: '3.5.9', ext: 'aar') implementation(group: 'com.mdd.payment', name: 'mybanklibrary-release', version: '3.5.9', ext: 'aar')
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application <application
......
...@@ -110,6 +110,8 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -110,6 +110,8 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
private MainCardProcessor cardProcessor; private MainCardProcessor cardProcessor;
private InitReader reader; private InitReader reader;
boolean iya = false;
protected int getCommand() { protected int getCommand() {
return COMMAND; return COMMAND;
...@@ -120,7 +122,24 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -120,7 +122,24 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
setCommand(MDDCommand.COMMAND_GET_BALANCE); setCommand(MDDCommand.COMMAND_GET_BALANCE);
Log.d("btnGantiKartu", "clicked"); Log.d("btnGantiKartu", "clicked");
Toast.makeText(this, "Tempel kartu anda..", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Tempel kartu anda..", Toast.LENGTH_SHORT).show();
// execute(); refreshUi();
}
private void refreshUi() {
runOnUiThread(() -> {
findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE);
bgCard.getBackground().setColorFilter(Color.parseColor("#221f1f"), PorterDuff.Mode.SRC_ATOP);
mProgress.setVisibility(View.INVISIBLE);
oldBalance = 0;
textBalance.setText("Rp " + formatter.format(0));
textCardNumber.setText("0000 0000 0000 0000");
mOpsResult.setTextColor(getColorRes(R.color.text_normal));
mOpsResult.setText(getResources().getString(R.string.tap_card));
setCommand(MDDCommand.COMMAND_UPDATE_BALANCE);
});
beep();
} }
@OnClick(R.id.btnUpdateBalance) @OnClick(R.id.btnUpdateBalance)
...@@ -128,7 +147,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -128,7 +147,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
setCommand(MDDCommand.COMMAND_UPDATE_BALANCE); setCommand(MDDCommand.COMMAND_UPDATE_BALANCE);
Log.d("btnUpdateBalance", "clicked"); Log.d("btnUpdateBalance", "clicked");
Toast.makeText(this, "Tempel kartu anda..", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Tempel kartu anda..", Toast.LENGTH_SHORT).show();
// execute();
} }
private void setCommand(int commandUpdateBalance) { private void setCommand(int commandUpdateBalance) {
...@@ -147,14 +165,22 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -147,14 +165,22 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
if (isInternetAvailable()) { if (isInternetAvailable()) {
setUp(); setUp();
NfcManager manager = (NfcManager) getSystemService(Context.NFC_SERVICE); if (iya) {
NfcAdapter adapter = manager.getDefaultAdapter(); Log.d(TAG, "IS PAX");
Log.d(TAG, "adapter:" + adapter + "," + Build.MODEL + "," + Build.BRAND); if (working) return;
displayResult(R.color.text_normal, R.string.keep_tap);
showProgressBar();
findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE);
if (adapter == null || !adapter.isEnabled()) { } else {
displayResult(R.color.text_error, R.string.nfc_not_found); NfcManager manager = (NfcManager) getSystemService(Context.NFC_SERVICE);
} NfcAdapter adapter = manager.getDefaultAdapter();
Log.d(TAG, "adapter:" + adapter + "," + Build.MODEL + "," + Build.BRAND);
if (adapter == null || !adapter.isEnabled()) {
displayResult(R.color.text_error, R.string.nfc_not_found);
}
}
} else { } else {
Toast.makeText(MainActivity.this, getResources().getString(R.string.connection_error), Toast.LENGTH_SHORT).show(); Toast.makeText(MainActivity.this, getResources().getString(R.string.connection_error), Toast.LENGTH_SHORT).show();
hideProgressBar(); hideProgressBar();
...@@ -162,32 +188,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -162,32 +188,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
showDialog(); showDialog();
} }
reader = ((MyApp) getApplication()).getReader();
Log.d("ReaderApp", String.valueOf(reader));
// cardProcessor = new MainCardProcessor(MainActivity.this, reader, new UpdateBalanceView() {
// @Override
// public void onUpdateBalanceSuccess(SuccessUpdateBalance successUpdateBalance) {
// runOnUiThread(() -> MainActivity.this.onUpdateBalaceSuccess(successUpdateBalance));
// }
//
// @Override
// public void onUpdateBalanceError(String reason) {
// runOnUiThread(() -> MainActivity.this.onUpdateBalanceError(reason));
// }
//
// @Override
// public void onCardDetected(CardInfo cardInfo) {
// Log.d("Card", "card kedetek nih");
// runOnUiThread(() -> MainActivity.this.onBalanceInfoAvailable(cardInfo));
// }
//
// @Override
// public void onErrorNfcCardMsg(int errorCode) {
// runOnUiThread(() -> MainActivity.this.onUpdateBalanceError(""));
// }
// });
// cardProcessor.getBalance();
Tag tagFromIntent = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG); Tag tagFromIntent = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);
if (tagFromIntent != null) { if (tagFromIntent != null) {
onTagDiscovered(tagFromIntent); onTagDiscovered(tagFromIntent);
...@@ -195,20 +195,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -195,20 +195,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
} }
// private void getBalance() {
// Log.d("getBalance", "udh sampe getbalance");
// String response = new Gson().toJson(cardProcessor.findCardUid());
// Log.d("response", response);
// FindCardResponse response1 = cardProcessor.findCardUid();
// response1.getUid();
//
// CardInfoCommand command = new CardInfoCommand(reader.myReader);
// final CommandResult<CardInfo> execute = command.execute(cardProcessor.findCardUid());
// CardInfo cardInfo = execute.getResult();
// Log.d("CardInfo", "Ini card infonya bro : "+cardInfo);
//
// }
private void hideResult() { private void hideResult() {
mOpsResult.setVisibility(View.GONE); mOpsResult.setVisibility(View.GONE);
} }
...@@ -239,7 +225,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -239,7 +225,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
} else { } else {
Log.d("validate", "Mau init niih"); Log.d("validate", "Mau init niih");
((MyApp) getApplication()).initConfig(this); ((MyApp) getApplication()).initAar(this);
} }
} }
...@@ -247,44 +233,22 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -247,44 +233,22 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults); super.onRequestPermissionsResult(requestCode, permissions, grantResults);
Log.e("requestPermissionResult", "reqCode "+requestCode +" permission "+permissions +" grantResults "+grantResults); Log.e("requestPermissionResult", "reqCode "+requestCode +" permission "+permissions +" grantResults "+grantResults);
((MyApp) getApplication()).initConfig(this); ((MyApp) getApplication()).initAar(this);
} }
@Override @Override
protected void onResume() { protected void onResume() {
Log.e("onResume", "onresume");
super.onResume(); super.onResume();
if (isInternetAvailable()) { if (isInternetAvailable()) {
setCommand(MDDCommand.COMMAND_GET_BALANCE); setCommand(MDDCommand.COMMAND_UPDATE_BALANCE);
// execute();
NfcManager manager = (NfcManager) getSystemService(Context.NFC_SERVICE); NfcManager manager = (NfcManager) getSystemService(Context.NFC_SERVICE);
NfcAdapter adapter = manager.getDefaultAdapter(); NfcAdapter adapter = manager.getDefaultAdapter();
final int READER_FLAGS = NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK; final int READER_FLAGS = NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK;
if (adapter != null && adapter.isEnabled()) { if (adapter != null && adapter.isEnabled()) {
adapter.enableReaderMode(this, this, READER_FLAGS, null); adapter.enableReaderMode(this, this, READER_FLAGS, null);
} }
// if (EMoneyUtils.isPax()) {
//// Log.d(TAG, "IS PAX");
//// if (eMoneyUtils == null) {
//// displayResult(R.color.text_error, R.string.error_not_setup);
//// return;
//// }
//// if (eMoneyUtils == null) return;
//// if (working) return;
//// displayResult(R.color.text_normal, R.string.keep_tap);
//// showProgressBar();
//// findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE);
//// COMMAND = MDDCommand.COMMAND_GET_BALANCE;
// } else {
// setCommand(MDDCommand.COMMAND_GET_BALANCE);
//
// NfcManager manager = (NfcManager) getSystemService(Context.NFC_SERVICE);
// NfcAdapter adapter = manager.getDefaultAdapter();
// Log.d(TAG, "adapter:" + adapter + "," + Build.MODEL + "," + Build.BRAND);
//
// if (adapter == null || !adapter.isEnabled()) {
// displayResult(R.color.text_error, R.string.nfc_not_found);
// }
// }
} else { } else {
Toast.makeText(MainActivity.this, getResources().getString(R.string.connection_error), Toast.LENGTH_SHORT).show(); Toast.makeText(MainActivity.this, getResources().getString(R.string.connection_error), Toast.LENGTH_SHORT).show();
hideProgressBar(); hideProgressBar();
...@@ -351,7 +315,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -351,7 +315,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
Toast.makeText(MainActivity.this, "Mohon Tunggu...", Toast.LENGTH_LONG).show(); Toast.makeText(MainActivity.this, "Mohon Tunggu...", Toast.LENGTH_LONG).show();
showProgressBar(); showProgressBar();
displayResult(R.color.text_normal, R.string.keep_tap); displayResult(R.color.text_normal, R.string.keep_tap);
btnGantiKartu.setEnabled(false);
findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE); findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE);
} }
...@@ -368,7 +331,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -368,7 +331,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
Log.d(TAG, "onBeginOperation: "); Log.d(TAG, "onBeginOperation: ");
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
displayResult(R.color.text_normal, R.string.keep_tap); displayResult(R.color.text_normal, R.string.keep_tap);
btnGantiKartu.setEnabled(false);
showProgressBar(); showProgressBar();
findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE); findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE);
} }
...@@ -381,7 +343,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -381,7 +343,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
Log.d(TAG, "onBalanceInfoAvailable: " + cardInfo.getBalance()); Log.d(TAG, "onBalanceInfoAvailable: " + cardInfo.getBalance());
runOnUiThread(() -> { runOnUiThread(() -> {
mProgress.setVisibility(View.INVISIBLE); mProgress.setVisibility(View.VISIBLE);
if (cardInfo.getBankType().equals("BNI")) { if (cardInfo.getBankType().equals("BNI")) {
bgCard.getBackground().setColorFilter(Color.parseColor("#F6630E"), PorterDuff.Mode.SRC_ATOP); bgCard.getBackground().setColorFilter(Color.parseColor("#F6630E"), PorterDuff.Mode.SRC_ATOP);
logoCard.setImageResource(R.drawable.tapcash_logo); logoCard.setImageResource(R.drawable.tapcash_logo);
...@@ -395,8 +357,8 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -395,8 +357,8 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
textCardNumber.setText(cardInfo.getCardNumber()); textCardNumber.setText(cardInfo.getCardNumber());
mOpsResult.setTextColor(getColorRes(R.color.text_normal)); mOpsResult.setTextColor(getColorRes(R.color.text_normal));
mOpsResult.setText(getResources().getString(R.string.TapMore)); // mOpsResult.setText(getResources().getString(R.string.TapMore));
setCommand(MDDCommand.COMMAND_UPDATE_BALANCE); // setCommand(MDDCommand.COMMAND_UPDATE_BALANCE);
}); });
beep(); beep();
...@@ -404,6 +366,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -404,6 +366,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
@Override @Override
public void onUpdateBalaceSuccess(SuccessUpdateBalance successUpdateBalance) { public void onUpdateBalaceSuccess(SuccessUpdateBalance successUpdateBalance) {
Log.e("onSuccess", "successdisiniaja");
hasPendingOperation = false; hasPendingOperation = false;
Log.d(TAG, "onUpdateBalaceSuccess: " + successUpdateBalance.getBalance()); Log.d(TAG, "onUpdateBalaceSuccess: " + successUpdateBalance.getBalance());
Log.d(TAG, "onUpdateBalaceSuccess: " + successUpdateBalance.getMessage()); Log.d(TAG, "onUpdateBalaceSuccess: " + successUpdateBalance.getMessage());
...@@ -413,17 +376,22 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -413,17 +376,22 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
long amount = successUpdateBalance.getBalance() - oldBalance; long amount = successUpdateBalance.getBalance() - oldBalance;
findViewById(R.id.lyUpdateBalance).setVisibility(View.VISIBLE); findViewById(R.id.lyUpdateBalance).setVisibility(View.VISIBLE);
textBalance.setText("Rp " + formatter.format(successUpdateBalance.getBalance())); textBalance.setText("Rp " + formatter.format(successUpdateBalance.getBalance()));
textBalance.setText("Rp " + formatter.format(oldBalance));
textAmount.setText("Rp " + formatter.format(amount)); textAmount.setText("Rp " + formatter.format(amount));
textNewBalance.setText("Rp " + formatter.format(successUpdateBalance.getBalance())); textNewBalance.setText("Rp " + formatter.format(successUpdateBalance.getBalance()));
textCardNumber.setText(successUpdateBalance.getCardNumber());
displayResult(R.color.text_success, R.string.update_success); displayResult(R.color.text_success, R.string.update_success);
hideProgressBar();
beep();
oldBalance = successUpdateBalance.getBalance();
} else { } else {
findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE); textBalance.setText("Rp " + formatter.format(successUpdateBalance.getBalance()));
textCardNumber.setText(successUpdateBalance.getCardNumber());
displayResult(R.color.text_success, R.string.no_pending_balance); displayResult(R.color.text_success, R.string.no_pending_balance);
mProgress.setVisibility(View.INVISIBLE); // findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE);
// displayResult(R.color.text_success, R.string.no_pending_balance);
// mProgress.setVisibility(View.INVISIBLE);
} }
hideProgressBar();
beep();
oldBalance = successUpdateBalance.getBalance();
} }
private void beep() { private void beep() {
...@@ -437,6 +405,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -437,6 +405,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
@Override @Override
public void onUpdateBalanceError(String reason) { public void onUpdateBalanceError(String reason) {
Log.e("onError", "errorDisiniAja");
hasPendingOperation = false; hasPendingOperation = false;
mProgress.setVisibility(View.INVISIBLE); mProgress.setVisibility(View.INVISIBLE);
findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE); findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE);
...@@ -445,11 +414,13 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -445,11 +414,13 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
if (reason.equalsIgnoreCase("Timed out")) { if (reason.equalsIgnoreCase("Timed out")) {
displayResult(R.color.text_error, R.string.connection_error); displayResult(R.color.text_error, R.string.connection_error);
} else if (reason.contains("Reversal Success")) { } else if (reason.contains("Reversal Success")) {
Log.d("onUpdateBalanceError", "Halo Anda sudah di onupdatebalance error"); Log.d("onUpdateBalanceError", "contains reversal success");
displayResult(R.color.text_error, R.string.reversal_success); displayResult(R.color.text_error, R.string.reversal_success);
} else { } else {
Log.e("onUpdateBalanceError", "else");
displayResult(R.color.text_error, R.string.update_balance_failed); displayResult(R.color.text_error, R.string.update_balance_failed);
} }
} }
...@@ -486,39 +457,83 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -486,39 +457,83 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
} }
InitReader paxReader = null; private void execute(Tag tag) {
Log.d("Execute", "execute dipanggil");
if (reader != null){
cardProcessor = new MainCardProcessor(MainActivity.this, reader, new UpdateBalanceView() {
@Override
public void onUpdateBalanceSuccess(SuccessUpdateBalance successUpdateBalance) {
runOnUiThread(() -> MainActivity.this.onUpdateBalaceSuccess(successUpdateBalance));
}
@Override @Override
public void onInitReaderComplete(InitReader reader) { public void onUpdateBalanceError(String reason) {
paxReader = reader; runOnUiThread(() -> MainActivity.this.onUpdateBalanceError(reason));
pbloading.setVisibility(View.GONE); }
cardProcessor = new MainCardProcessor(MainActivity.this, reader, new UpdateBalanceView() {
@Override
public void onUpdateBalanceSuccess(SuccessUpdateBalance successUpdateBalance) {
runOnUiThread(() -> MainActivity.this.onUpdateBalaceSuccess(successUpdateBalance));
}
@Override @Override
public void onUpdateBalanceError(String reason) { public void onCardDetected(CardInfo cardInfo) {
runOnUiThread(() -> MainActivity.this.onUpdateBalanceError(reason)); Log.d("Card", "card kedetek nih");
} runOnUiThread(() -> MainActivity.this.onBalanceInfoAvailable(cardInfo));
}
@Override @Override
public void onCardDetected(CardInfo cardInfo) { public void onErrorNfcCardMsg(int errorCode) {
runOnUiThread(() -> MainActivity.this.onBalanceInfoAvailable(cardInfo)); runOnUiThread(() -> MainActivity.this.onUpdateBalanceError(""));
} }
});
cardProcessor.lockIsoDepCard(tag);
String cardUid = ByteArrayToHexString(tag.getId());
Log.d("TagFromIntent", cardUid);
boolean hasCardUid = !cardUid.isEmpty();
if (hasCardUid) {
Log.d(TAG, "---> Send to UI Card Found");
runOnUiThread(new Runnable() {
@Override
public void run() {
onNfcCardFound();
}
});
@Override CardInfoCommand command = new CardInfoCommand(reader.myReader);
public void onErrorNfcCardMsg(int errorCode) { Log.e("myReader", "Myreader : "+reader.myReader);
runOnUiThread(() -> MainActivity.this.onUpdateBalanceError(""));
final CommandResult<CardInfo> execute = command.execute(cardUid);
CardInfo detectedCardInfo = execute.getResult();
Log.d("cardInfo", "ini card infonnya bro : "+detectedCardInfo);
Log.d("executeSuccess", "executeIsSuccess = " + execute.isSuccess());
if (execute.isSuccess()) {
cardProcessor.getBalance(detectedCardInfo);
cardProcessor.updateBalance(detectedCardInfo, 1);
// switch (getCommand()) {
// case MDDCommand.COMMAND_GET_BALANCE:
// cardProcessor.getBalance(detectedCardInfo);
// break;
// case MDDCommand.COMMAND_UPDATE_BALANCE:
// cardProcessor.updateBalance(detectedCardInfo, 1);
// break;
// }
} else {
runOnUiThread(() -> {
Log.e("error", "Messagenya : "+execute.getMessage());
MainActivity.this.onUpdateBalanceError("Kartu tidak terdeteksi");
cardProcessor.unlockIsoDepCard();
});
}
cardProcessor.unlockIsoDepCard();
} else {
//wrong card type
cardProcessor.unlockIsoDepCard();
} }
}); }
} }
@Override @Override
public void onTagDiscovered(Tag tag) { public void onInitReaderComplete(InitReader reader) {
pbloading.setVisibility(View.GONE);
cardProcessor = new MainCardProcessor(MainActivity.this, paxReader, new UpdateBalanceView() { this.reader = reader;
cardProcessor = new MainCardProcessor(MainActivity.this, reader, new UpdateBalanceView() {
@Override @Override
public void onUpdateBalanceSuccess(SuccessUpdateBalance successUpdateBalance) { public void onUpdateBalanceSuccess(SuccessUpdateBalance successUpdateBalance) {
runOnUiThread(() -> MainActivity.this.onUpdateBalaceSuccess(successUpdateBalance)); runOnUiThread(() -> MainActivity.this.onUpdateBalaceSuccess(successUpdateBalance));
...@@ -531,7 +546,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -531,7 +546,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
@Override @Override
public void onCardDetected(CardInfo cardInfo) { public void onCardDetected(CardInfo cardInfo) {
Log.d("Card", "card kedetek nih");
runOnUiThread(() -> MainActivity.this.onBalanceInfoAvailable(cardInfo)); runOnUiThread(() -> MainActivity.this.onBalanceInfoAvailable(cardInfo));
} }
...@@ -540,49 +554,16 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -540,49 +554,16 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
runOnUiThread(() -> MainActivity.this.onUpdateBalanceError("")); runOnUiThread(() -> MainActivity.this.onUpdateBalanceError(""));
} }
}); });
}
String cardUid = ByteArrayToHexString(tag.getId()); @Override
cardProcessor.lockIsoDepCard(tag); public void onTagDiscovered(Tag tag) {
Log.d("TagFromIntent", cardUid);
boolean hasCardUid = !cardUid.isEmpty();
if (hasCardUid) {
Log.d(TAG, "---> Send to UI Card Found");
runOnUiThread(new Runnable() {
@Override
public void run() {
onNfcCardFound();
}
});
CardInfoCommand command = new CardInfoCommand(paxReader.myReader);
Log.e("myReader", "Myreader : "+paxReader.myReader);
final CommandResult<CardInfo> execute = command.execute(cardUid);
CardInfo detectedCardInfo = execute.getResult();
Log.d("cardInfo", "ini card infonnya bro : "+detectedCardInfo);
Log.d("executeSuccess", "executeIsSuccess = " + execute.isSuccess());
if (execute.isSuccess()) {
switch (getCommand()) {
case MDDCommand.COMMAND_GET_BALANCE:
cardProcessor.getBalance(detectedCardInfo);
break;
case MDDCommand.COMMAND_UPDATE_BALANCE:
cardProcessor.updateBalance(detectedCardInfo, 1);
break;
}
} else {
runOnUiThread(() -> {
Log.e("error", "Messagenya : "+execute.getMessage());
MainActivity.this.onUpdateBalanceError("Kartu tidak terdeteksi");
cardProcessor.unlockIsoDepCard();
});
}
Log.d("OnTagDiscovered", "Udh sampe OnTagDiscover loh");
// taG = ByteArrayToHexString(tag.getId());
// this.tagFromIntent = tag;
execute(tag);
} else {
//wrong card type
cardProcessor.unlockIsoDepCard();
}
} }
} }
\ No newline at end of file
...@@ -11,6 +11,7 @@ import android.view.View; ...@@ -11,6 +11,7 @@ import android.view.View;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.Toast; import android.widget.Toast;
import com.bugfender.sdk.Bugfender;
import com.mdd.aar.deviceid.AarDeviceId; import com.mdd.aar.deviceid.AarDeviceId;
import com.mdd.aar.deviceid.DeviceEnvironment; import com.mdd.aar.deviceid.DeviceEnvironment;
import com.mdd.aar.deviceid.exceptions.DeviceNotRegisteredException; import com.mdd.aar.deviceid.exceptions.DeviceNotRegisteredException;
...@@ -26,85 +27,185 @@ import io.reactivex.disposables.Disposable; ...@@ -26,85 +27,185 @@ import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
public class MyApp extends Application { public class MyApp extends Application {
String GIVE_MID = "ba7db816e59612f8ce1630a095ef01c5"; // please ask us for credential // String GIVE_MID = "ba7db816e59612f8ce1630a095ef01c5"; // please ask us for credential
String GIVE_TID = "0820517774";// please ask us for credential // String GIVE_TID = "0820517774";// please ask us for credential
String GIVEN_TOKEN = "5b423ef49cb029340d7231cace0de201";// please ask us for credential // String GIVEN_TOKEN = "5b423ef49cb029340d7231cace0de201";// please ask us for credential
private final String accessToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJhdXRoLXNlcnZpY2U6MS4wLjAiLCJzdWIiOnsibmFtZSI6IlRlc3RQcm9kMyIsInVzZXJuYW1lIjoiVGVzdFByb2QzIiwiYXV0aF9sZXZlbCI6Ik1FUkNIQU5UIiwibWlkIjoiMWZiNTdmMTY2YTQ4MGU5N2JmN2EzZGNiZjkzMTkyOTMifSwiaWF0IjoxNTk3NzM3NzIxLCJleHAiOjE1OTc4MjQxMjEsIm5iZiI6MTU5NzczNzcyM30.CXM-5mCv91Yo17c9zHXQKPGR5gqAeu-LADta-_qnABYxzmnE4Dx0q7NQ9IYr6cYO6cXp40UW4s632fzVYmPCXH8f0RtSwLPqTT7_lWHK--fHCP-LZOmfgwUBxdNocYY9xAi-NyWqCmTnkjWx91lqh9S9Fcue6nO_KrBqngUpBPhpS0hPwgmkqHXX6yAdVs931NbfNM3cYW9PpGIw8K-OxoPDHByD61uAFxT9FCrTbca7vV3HFQnZEKpwxxdECu7DCQAsGTl7JqfbH2j5swe_t97rSDAGyE1HRzGX-SMqPULkC-XravF2m_HucosacYQuSdRaxAWfEIQvtQhAcRXwTA"; // private final String accessToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJhdXRoLXNlcnZpY2U6MS4wLjAiLCJzdWIiOnsibmFtZSI6IlRlc3RQcm9kMyIsInVzZXJuYW1lIjoiVGVzdFByb2QzIiwiYXV0aF9sZXZlbCI6Ik1FUkNIQU5UIiwibWlkIjoiMWZiNTdmMTY2YTQ4MGU5N2JmN2EzZGNiZjkzMTkyOTMifSwiaWF0IjoxNTk3NzM3NzIxLCJleHAiOjE1OTc4MjQxMjEsIm5iZiI6MTU5NzczNzcyM30.CXM-5mCv91Yo17c9zHXQKPGR5gqAeu-LADta-_qnABYxzmnE4Dx0q7NQ9IYr6cYO6cXp40UW4s632fzVYmPCXH8f0RtSwLPqTT7_lWHK--fHCP-LZOmfgwUBxdNocYY9xAi-NyWqCmTnkjWx91lqh9S9Fcue6nO_KrBqngUpBPhpS0hPwgmkqHXX6yAdVs931NbfNM3cYW9PpGIw8K-OxoPDHByD61uAFxT9FCrTbca7vV3HFQnZEKpwxxdECu7DCQAsGTl7JqfbH2j5swe_t97rSDAGyE1HRzGX-SMqPULkC-XravF2m_HucosacYQuSdRaxAWfEIQvtQhAcRXwTA";
private InitReader reader; // private InitReader reader;
int idDriver = nativeLib.USE_NFC_NATIVE; // int idDriver = nativeLib.USE_NFC_NATIVE;
@Override // @Override
public void onCreate() { // public void onCreate() {
super.onCreate(); // super.onCreate();
} // }
//
// public void initConfig(InitListener initListener) {
// TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
// if (idDriver == 1) {
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// if (checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
// Toast.makeText(this, "Please grant permission", Toast.LENGTH_SHORT).show();
// return;
// } else {
// doInit();
// }
// } else {
// doInit();
// }
// }else{
// Log.d("lariKemana", "Lari ke else bro");
// new RXReader().initEdcReader(this, nativeLib.USE_NFC_NATIVE)
// .subscribeOn(Schedulers.io())
// .observeOn(AndroidSchedulers.mainThread())
// .subscribe(new SingleObserver<InitReader>() {
// @Override
// public void onSubscribe(Disposable d) {
//
// }
//
// @Override
// public void onSuccess(InitReader initReader) {
// initListener.onInitReaderComplete(initReader);
// Log.e("initReader", String.valueOf(initReader));
// }
//
//
// @Override
// public void onError(Throwable e) {
//
// }
// });
// }
// }
//
// public void doInit() {
// ConfigService configService = new ConfigService();
// configService.setMid(GIVE_MID);
// configService.setTid(GIVE_TID);
// configService.setToken(GIVEN_TOKEN);
// configService.setAccessToken(accessToken);
// AarDeviceId aarDeviceId = new AarDeviceId(this);
// String deviceId = "";
// try {
// deviceId = aarDeviceId.getDeviceId();
// } catch (DeviceNotRegisteredException e) {
// aarDeviceId.init(accessToken, DeviceEnvironment.PROD);
// }
//
// configService.setTid(deviceId);
//
// MDDService initialize = MDDService.with(this, configService);
// if (initialize.isValid()) {
// reader = initialize.getInitReader();
// if (reader != null) {
// Log.e("MyApp", "Aktivasi library sukses");
// Toast.makeText(this, "Aktivasi library sukses", Toast.LENGTH_SHORT).show();
// }else {
// Log.e("MyApp", "Library belum aktif reader null");
// Toast.makeText(this, "Library belum aktif reader null", Toast.LENGTH_SHORT).show();
// }
// } else {
// Log.e("MyApp", "Library belum aktif");
// Toast.makeText(this, "Library belum aktif", Toast.LENGTH_SHORT).show();
// }
// }
//
// public InitReader getReader() {
// return reader;
// }
String accessToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJhdXRoLXNlcnZpY2U6MS4wLjAiLCJzdWIiOnsibmFtZSI6IlRlc3RTdGFnIiwidXNlcm5hbWUiOiJUZXN0U3RhZyIsImF1dGhfbGV2ZWwiOiJNRVJDSEFOVCIsIm1pZCI6IjIwZjFmMTNmODA1MGFjY2QxYjNjNzFlOWUyYTQ0NzU3In0sImlhdCI6MTU5MzQxMzM5MCwiZXhwIjoxNzUxMTk4MTUwLCJuYmYiOjE1OTM0MTMzOTJ9.E6UJMKha5YCbri4KRExDV4zeA1ZBfabpW-O6SInxxvfyTTYnUZCEu58STBGrOCL0RuxTFp5Y-XEyoa932fQcTpMBMsKkvDmGeftJ0hmjzAxAjHTfUxUyEa-HHF1whsM4YQUG9CesEBjU9IUcE6Rs-jykYxuryvvqqop5BoEIwO71qQBrq6DtpwjwFk9hbNt0EKs_HmCpySfXQxorfLMbAVJCHBYoo4UVymUfwUbps7hW6eQwNoBnt11O59CRPf6uUVIfCrsaaBMcJI-mc214-EMyl3RmMbqNl_f_0ITEJhMtK2zbUFZ8dMrGdZZgWJxiHdmzxqdaEPDVshYi9Uo31w";
int idDriver = nativeLib.USE_NFC_NATIVE;
private InitReader reader;
@Override
public void onCreate() {
super.onCreate();
}
public void initAar(InitListener listener) {
Bugfender.init(this, "apHTg4GcGupkx86oSnew7mm8cpbnwhAX", BuildConfig.DEBUG);
Bugfender.enableCrashReporting();
Bugfender.enableUIEventLogging(this);
Bugfender.enableLogcatLogging();
public void initConfig(InitListener initListener) { ConfigService configService = new ConfigService();
configService.setMid("ba7db816e59612f8ce1630a095ef01c5");
configService.setToken("5b423ef49cb029340d7231cace0de201");
if (idDriver == 1) {
// configService.setTid("1234");
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (idDriver == 1) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
if (checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { Toast.makeText(this, "Please grant permission", Toast.LENGTH_SHORT).show();
Toast.makeText(this, "Please grant permission", Toast.LENGTH_SHORT).show(); return;
return; } else {
AarDeviceId aarDeviceId = new AarDeviceId(this);
String deviceId = "";
try {
deviceId = aarDeviceId.getDeviceId();
Log.d("deviceId", deviceId);
} catch (DeviceNotRegisteredException e) {
aarDeviceId.init(accessToken, DeviceEnvironment.PROD);
}
configService.setTid(deviceId);
MDDService initialize = MDDService.with(this, configService);
if (initialize.isValid()) {
reader = initialize.getInitReader();
listener.onInitReaderComplete(reader);
Log.d("reader", String.valueOf(reader));
Log.d("MyApp", "--> Build Version");
Toast.makeText(this, "Aktivasi library sukses", Toast.LENGTH_SHORT).show();
} else { } else {
doInit(); Toast.makeText(this, "Library belum aktif", Toast.LENGTH_SHORT).show();
} }
} else {
doInit();
} }
}else{ } else {
Log.d("lariKemana", "Lari ke else bro"); AarDeviceId aarDeviceId = new AarDeviceId(this);
new RXReader().initEdcReader(this, nativeLib.USE_NFC_NATIVE) String deviceId = "";
.subscribeOn(Schedulers.io()) try {
.observeOn(AndroidSchedulers.mainThread()) deviceId = aarDeviceId.getDeviceId();
.subscribe(new SingleObserver<InitReader>() { } catch (DeviceNotRegisteredException e) {
@Override aarDeviceId.init(accessToken, DeviceEnvironment.PROD);
public void onSubscribe(Disposable d) { }
} configService.setTid(deviceId);
@Override MDDService initialize = MDDService.with(this, configService);
public void onSuccess(InitReader initReader) { if (initialize.isValid()) {
initListener.onInitReaderComplete(initReader); Log.d("MyApp", "--> aardeviceid");
Log.e("initReader", String.valueOf(initReader)); reader = initialize.getInitReader();
} Toast.makeText(this, "Aktivasi library sukses", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Library belum aktif", Toast.LENGTH_SHORT).show();
}
}
} else {
Log.d("lariKemana", "Lari ke else bro");
new RXReader().initEdcReader(this, nativeLib.USE_NFC_NATIVE)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SingleObserver<InitReader>() {
@Override
public void onSubscribe(Disposable d) {
@Override }
public void onError(Throwable e) {
} @Override
}); public void onSuccess(InitReader initReader) {
} listener.onInitReaderComplete(initReader);
} reader = initReader;
Log.e("initReader", String.valueOf(initReader));
}
public void doInit() {
ConfigService configService = new ConfigService();
configService.setMid(GIVE_MID);
configService.setTid(GIVE_TID);
configService.setToken(GIVEN_TOKEN);
configService.setAccessToken(accessToken);
AarDeviceId aarDeviceId = new AarDeviceId(this);
String deviceId = "";
try {
deviceId = aarDeviceId.getDeviceId();
} catch (DeviceNotRegisteredException e) {
aarDeviceId.init(accessToken, DeviceEnvironment.PROD);
}
configService.setTid(deviceId); @Override
public void onError(Throwable e) {
MDDService initialize = MDDService.with(this, configService); }
if (initialize.isValid()) { });
reader = initialize.getInitReader();
if (reader != null) {
Log.e("MyApp", "Aktivasi library sukses");
Toast.makeText(this, "Aktivasi library sukses", Toast.LENGTH_SHORT).show();
}else {
Log.e("MyApp", "Library belum aktif reader null");
Toast.makeText(this, "Library belum aktif reader null", Toast.LENGTH_SHORT).show();
}
} else {
Log.e("MyApp", "Library belum aktif");
Toast.makeText(this, "Library belum aktif", Toast.LENGTH_SHORT).show();
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment