Commit a4ba820b authored by Wahyu Pratama's avatar Wahyu Pratama

update balance library mandiri and bni

parent 12de395f
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
android { android {
compileSdkVersion 30 compileSdkVersion 28
buildToolsVersion "30.0.1" buildToolsVersion "30.0.1"
defaultConfig { defaultConfig {
applicationId "id.mdd.implementationpartnerconnect" applicationId "id.mdd.implementationpartnerconnect"
minSdkVersion 22 minSdkVersion 22
targetSdkVersion 30 targetSdkVersion 28
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
...@@ -29,34 +29,39 @@ android { ...@@ -29,34 +29,39 @@ android {
} }
dependencies { dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"]) implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.appcompat:appcompat:1.2.0' implementation "androidx.preference:preference:1.1.0"
implementation "androidx.preference:preference:1.1.1" implementation 'com.google.android.material:material:1.1.0'
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'org.bouncycastle:bcprov-jdk15on:1.54' implementation fileTree(include: ['*.aar'], dir: 'libs')
implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0' implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.8.0' implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
//retrofit
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.1'
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0' implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
// implementation project(path: ':mdd-service-release')
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'io.reactivex.rxjava2:rxjava:2.2.10'
implementation 'com.jakewharton:butterknife:10.2.0' implementation 'com.jakewharton:butterknife:10.2.0'
implementation 'com.bugfender.sdk:android:3.+' implementation 'com.bugfender.sdk:android:3.+'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0' annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
implementation(group: 'com.mdd.payment', name: 'aar-deviceid-release', version: '2.0.5', ext: 'aar')
annotationProcessor "androidx.room:room-compiler:2.2.5" implementation(group: 'com.mdd.service', name: 'partner-connect', version: '2.3.4', ext: 'aar')
implementation 'androidx.core:core:1.3.1' implementation(group: 'com.mdd.payment', name: 'mybanklibrary-release', version: '3.6.4', ext: 'aar')
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' implementation(group: 'com.mdd.topup', name: 'update-balance', version: '2.8.5', ext: 'aar')
implementation 'io.reactivex.rxjava2:rxjava:2.2.10'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
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.payment', name: 'mybanklibrary-release', version: '3.5.9', ext: 'aar')
implementation(group: 'com.mdd.topup', name: 'update-balance', version: '2.4.7', ext: 'aar')
implementation(group: 'com.mdd.payment', name: 'z91library-release', version: '2.1.0', ext: 'aar') implementation(group: 'com.mdd.payment', name: 'z91library-release', version: '2.1.0', ext: 'aar')
implementation(group: 'com.mdd.payment', name: 'organicdrv-release', version: '2.1.0', ext: 'aar') implementation(group: 'com.mdd.payment', name: 'organicdrv-release', version: '2.1.0', ext: 'aar')
implementation(group: 'com.mdd.payment', name: 'wepoylibrary-release', version: '2.2.0', ext: 'aar') implementation(group: 'com.mdd.payment', name: 'wepoylibrary-release', version: '2.2.0', ext: 'aar')
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:networkSecurityConfig="@xml/network_security_config"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
<activity android:name=".MainActivity"> <activity android:name=".MainActivity">
......
...@@ -19,6 +19,8 @@ import android.os.Bundle; ...@@ -19,6 +19,8 @@ import android.os.Bundle;
import android.os.CountDownTimer; import android.os.CountDownTimer;
import android.os.Message; import android.os.Message;
import android.os.StrictMode; import android.os.StrictMode;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
...@@ -36,6 +38,7 @@ import androidx.appcompat.app.AppCompatActivity; ...@@ -36,6 +38,7 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import com.mdd.topupUnik.ubal.ApiUtils;
import com.mdd.topupUnik.ubal.InitReader; import com.mdd.topupUnik.ubal.InitReader;
import com.mdd.topupUnik.ubal.MainCardProcessor; import com.mdd.topupUnik.ubal.MainCardProcessor;
import com.mdd.topupUnik.ubal.ReversalObject; import com.mdd.topupUnik.ubal.ReversalObject;
...@@ -193,8 +196,12 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -193,8 +196,12 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
onTagDiscovered(tagFromIntent); onTagDiscovered(tagFromIntent);
} }
String imei = Settings.Secure.getString(getContentResolver(), "android_id");
Log.e("imei", imei);
} }
private void hideResult() { private void hideResult() {
mOpsResult.setVisibility(View.GONE); mOpsResult.setVisibility(View.GONE);
} }
...@@ -481,7 +488,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -481,7 +488,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
public void onErrorNfcCardMsg(int errorCode) { public void onErrorNfcCardMsg(int errorCode) {
runOnUiThread(() -> MainActivity.this.onUpdateBalanceError("")); runOnUiThread(() -> MainActivity.this.onUpdateBalanceError(""));
} }
}); }, ApiUtils.prod_environment);
cardProcessor.lockIsoDepCard(tag); cardProcessor.lockIsoDepCard(tag);
String cardUid = ByteArrayToHexString(tag.getId()); String cardUid = ByteArrayToHexString(tag.getId());
Log.d("TagFromIntent", cardUid); Log.d("TagFromIntent", cardUid);
...@@ -500,19 +507,16 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -500,19 +507,16 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
final CommandResult<CardInfo> execute = command.execute(cardUid); final CommandResult<CardInfo> execute = command.execute(cardUid);
CardInfo detectedCardInfo = execute.getResult(); CardInfo detectedCardInfo = execute.getResult();
Log.d("cardInfo", "ini card infonnya bro : "+detectedCardInfo); Log.d("cardInfo", "ini card infonnya bro : "+detectedCardInfo.toString());
Log.d("executeSuccess", "executeIsSuccess = " + execute.isSuccess()); Log.d("executeSuccess", "executeIsSuccess = " + execute.isSuccess());
if (execute.isSuccess()) { if (execute.isSuccess()) {
if (detectedCardInfo.getBankType().equalsIgnoreCase("DKI-NEW")){
runOnUiThread(() -> MainActivity.this.onBalanceInfoAvailable(detectedCardInfo));
mProgress.setVisibility(View.GONE);
}else {
cardProcessor.getBalance(detectedCardInfo); cardProcessor.getBalance(detectedCardInfo);
cardProcessor.updateBalance(detectedCardInfo, 1); 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 { } else {
runOnUiThread(() -> { runOnUiThread(() -> {
Log.e("error", "Messagenya : "+execute.getMessage()); Log.e("error", "Messagenya : "+execute.getMessage());
...@@ -553,7 +557,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV ...@@ -553,7 +557,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
public void onErrorNfcCardMsg(int errorCode) { public void onErrorNfcCardMsg(int errorCode) {
runOnUiThread(() -> MainActivity.this.onUpdateBalanceError("")); runOnUiThread(() -> MainActivity.this.onUpdateBalanceError(""));
} }
}); }, 0);
} }
@Override @Override
......
...@@ -27,102 +27,17 @@ import io.reactivex.disposables.Disposable; ...@@ -27,102 +27,17 @@ 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 accessToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJhdXRoLXNlcnZpY2U6MS4wLjAiLCJzdWIiOnsibmFtZSI6IlRlc3RTdGFnIiwidXNlcm5hbWUiOiJUZXN0U3RhZyIsImF1dGhfbGV2ZWwiOiJNRVJDSEFOVCIsIm1pZCI6IjIwZjFmMTNmODA1MGFjY2QxYjNjNzFlOWUyYTQ0NzU3In0sImlhdCI6MTU5MzQxMzM5MCwiZXhwIjoxNzUxMTk4MTUwLCJuYmYiOjE1OTM0MTMzOTJ9.E6UJMKha5YCbri4KRExDV4zeA1ZBfabpW-O6SInxxvfyTTYnUZCEu58STBGrOCL0RuxTFp5Y-XEyoa932fQcTpMBMsKkvDmGeftJ0hmjzAxAjHTfUxUyEa-HHF1whsM4YQUG9CesEBjU9IUcE6Rs-jykYxuryvvqqop5BoEIwO71qQBrq6DtpwjwFk9hbNt0EKs_HmCpySfXQxorfLMbAVJCHBYoo4UVymUfwUbps7hW6eQwNoBnt11O59CRPf6uUVIfCrsaaBMcJI-mc214-EMyl3RmMbqNl_f_0ITEJhMtK2zbUFZ8dMrGdZZgWJxiHdmzxqdaEPDVshYi9Uo31w";
// String GIVE_TID = "0820517774";// please ask us for credential
// String GIVEN_TOKEN = "5b423ef49cb029340d7231cace0de201";// please ask us for credential int idDriver = nativeLib.USE_NFC_NATIVE;
// 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; @Override
// @Override public void onCreate() {
// public void 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(); super.onCreate();
} }
public void initAar(InitListener listener) { public void initAar(InitListener listener) {
Bugfender.init(this, "apHTg4GcGupkx86oSnew7mm8cpbnwhAX", BuildConfig.DEBUG); Bugfender.init(this, "apHTg4GcGupkx86oSnew7mm8cpbnwhAX", BuildConfig.DEBUG);
Bugfender.enableCrashReporting(); Bugfender.enableCrashReporting();
Bugfender.enableUIEventLogging(this); Bugfender.enableUIEventLogging(this);
...@@ -132,7 +47,7 @@ public void initAar(InitListener listener) { ...@@ -132,7 +47,7 @@ public void initAar(InitListener listener) {
configService.setMid("ba7db816e59612f8ce1630a095ef01c5"); configService.setMid("ba7db816e59612f8ce1630a095ef01c5");
configService.setToken("5b423ef49cb029340d7231cace0de201"); configService.setToken("5b423ef49cb029340d7231cace0de201");
if (idDriver == 1) { if (idDriver == 1) {
// configService.setTid("1234"); // configService.setTid("1234");
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
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) {
......
...@@ -35,11 +35,11 @@ public class RXReader { ...@@ -35,11 +35,11 @@ public class RXReader {
configService.getTid(), configService.getTid(),
configService.getToken(), configService.getToken(),
accessToken accessToken
); , 1);
nativeLib nativeLibrary = new nativeLib(context, deviceDriver); nativeLib nativeLibrary = new nativeLib(context, deviceDriver);
InitDebugCertificate debugCertificate = new InitDebugCertificate(); InitDebugCertificate debugCertificate = new InitDebugCertificate();
InitReader reader = debugCertificate.getDebug(nativeLibrary, context, deviceDriver, config); InitReader reader = debugCertificate.getDebug(nativeLibrary, context, deviceDriver, config, true);
emitter.onSuccess(reader); emitter.onSuccess(reader);
} catch (Exception e) { } catch (Exception e) {
emitter.onError(e); emitter.onError(e);
......
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">apidev.mdd.co.id</domain>
</domain-config>
</network-security-config>
\ No newline at end of file
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