From b5a82a5fd1ae54c22af3dc668097d433184c4356 Mon Sep 17 00:00:00 2001 From: kizzy Date: Thu, 6 Nov 2025 01:08:32 +0700 Subject: [PATCH] first commit --- .../baselib/util/BackPressCallback.java | 6 ++ .../baselib/util/CardDetectCallback.java | 5 + .../com/utsmyanmar/baselib/util/Config.java | 35 +++++++ .../baselib/util/DataBindingConfig.java | 49 +++++++++ .../utsmyanmar/baselib/util/DelayCaller.java | 5 + .../baselib/util/DialogCallback.java | 8 ++ .../baselib/util/NetworkHelpers.java | 32 ++++++ .../utsmyanmar/baselib/util/TerminalUtil.java | 62 ++++++++++++ .../baselib/util/TerminalUtils.java | 17 ++++ .../baselib/util/TerminalUtilsImpl.java | 94 ++++++++++++++++++ .../baselib/util/TimeoutCallback.java | 8 ++ .../utsmyanmar/baselib/util/URLValidator.java | 18 ++++ .../baselib/util/enums/EmvPinMode.java | 5 + .../baselib/util/enums/EmvResultStatus.java | 31 ++++++ .../baselib/util/enums/PinUtil.java | 7 ++ .../util/rx_helper/ProcessDataResult.java | 7 ++ .../rx_helper/ProcessSingleDataResult.java | 10 ++ .../util/rx_helper/RxCallbackUpdateX.java | 12 +++ .../baselib/util/rx_helper/RxCallbackX.java | 13 +++ .../baselib/util/rx_helper/RxHelper.java | 20 ++++ .../baselib/util/rx_helper/RxUtil.java | 92 +++++++++++++++++ baselib/src/main/res/raw/certi.crt | 25 +++++ baselib/src/main/res/raw/client.pkcs12 | Bin 0 -> 2835 bytes 23 files changed, 561 insertions(+) create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/BackPressCallback.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/CardDetectCallback.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/Config.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/DataBindingConfig.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/DelayCaller.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/DialogCallback.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/NetworkHelpers.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtil.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtils.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtilsImpl.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/TimeoutCallback.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/URLValidator.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvPinMode.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvResultStatus.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/enums/PinUtil.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/ProcessDataResult.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/ProcessSingleDataResult.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxCallbackUpdateX.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxCallbackX.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxHelper.java create mode 100755 baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxUtil.java create mode 100644 baselib/src/main/res/raw/certi.crt create mode 100644 baselib/src/main/res/raw/client.pkcs12 diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/BackPressCallback.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/BackPressCallback.java new file mode 100755 index 0000000..e69dbd1 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/BackPressCallback.java @@ -0,0 +1,6 @@ +package com.utsmyanmar.baselib.util; + +public interface BackPressCallback { + + void onBackPress(); +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/CardDetectCallback.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/CardDetectCallback.java new file mode 100755 index 0000000..d8de80e --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/CardDetectCallback.java @@ -0,0 +1,5 @@ +package com.utsmyanmar.baselib.util; + +public interface CardDetectCallback { + void onComplete(); +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/Config.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/Config.java new file mode 100755 index 0000000..29d6c73 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/Config.java @@ -0,0 +1,35 @@ +package com.utsmyanmar.baselib.util; + +public class Config { + + private boolean IS_SETTING_NEW_INPUT_TYPE = true; + private static final Config instance = new Config(); + + private String hostIP = ""; + + private String hostPort = ""; + + public static Config getInstance() { + return instance; + } + + public boolean IS_SETTING_NEW_INPUT_TYPE() { + return IS_SETTING_NEW_INPUT_TYPE; + } + + public String getHostIP() { + return hostIP; + } + + public String getHostPort() { + return hostPort; + } + + public void setHostIP(String hostIP) { + this.hostIP = hostIP; + } + + public void setHostPort(String hostPort) { + this.hostPort = hostPort; + } +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/DataBindingConfig.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/DataBindingConfig.java new file mode 100755 index 0000000..efa7661 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/DataBindingConfig.java @@ -0,0 +1,49 @@ +package com.utsmyanmar.baselib.util; + +import android.util.SparseArray; + +import androidx.annotation.NonNull; +import androidx.lifecycle.ViewModel; + +public class DataBindingConfig { + + private final int layout; + + private final int vmVariableId; + + private final ViewModel stateViewModel; + + private SparseArray bindingParams = new SparseArray(); + + public DataBindingConfig(@NonNull Integer layout, + @NonNull Integer vmVariableId, + @NonNull ViewModel stateViewModel) { + this.layout = layout; + this.vmVariableId = vmVariableId; + this.stateViewModel = stateViewModel; + } + + public int getLayout() { + return layout; + } + + public int getVmVariableId() { + return vmVariableId; + } + + public ViewModel getStateViewModel() { + return stateViewModel; + } + + public SparseArray getBindingParams() { + return bindingParams; + } + + public DataBindingConfig addBindingParam(@NonNull Integer variableId, + @NonNull Object object) { + if (bindingParams.get(variableId) == null) { + bindingParams.put(variableId, object); + } + return this; + } +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/DelayCaller.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/DelayCaller.java new file mode 100755 index 0000000..706013a --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/DelayCaller.java @@ -0,0 +1,5 @@ +package com.utsmyanmar.baselib.util; + +public interface DelayCaller { + void onCall(); +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/DialogCallback.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/DialogCallback.java new file mode 100755 index 0000000..582e393 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/DialogCallback.java @@ -0,0 +1,8 @@ +package com.utsmyanmar.baselib.util; + +public interface DialogCallback { + + void onClickCancel(); + + void onClickRetry(); +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/NetworkHelpers.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/NetworkHelpers.java new file mode 100755 index 0000000..74e62d9 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/NetworkHelpers.java @@ -0,0 +1,32 @@ +package com.utsmyanmar.baselib.util; + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; + +import com.utsmyanmar.baselib.BaseApplication; + +public class NetworkHelpers { + + private Context context; + + private static NetworkHelpers INSTANCE; + + public static NetworkHelpers getInstance(){ + if(INSTANCE==null){ + INSTANCE=new NetworkHelpers(); + } + return INSTANCE; + } + + private NetworkHelpers(){ + context= BaseApplication.getInstance().getApplicationContext(); + } + + public boolean isNetworkAvailable() { + ConnectivityManager connectivityManager + = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); + return activeNetworkInfo != null && activeNetworkInfo.isConnected(); + } +} \ No newline at end of file diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtil.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtil.java new file mode 100755 index 0000000..bb0d0d6 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtil.java @@ -0,0 +1,62 @@ +package com.utsmyanmar.baselib.util; + +import android.os.RemoteException; + +import com.sunmi.pay.hardware.aidlv2.system.BasicOptV2; +import com.utsmyanmar.baselib.BaseApplication; +import com.utsmyanmar.paylibs.utils.core_utils.ByteUtil; + +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +import com.utsmyanmar.paylibs.utils.LogUtil; + +public class TerminalUtil { + + private static final String TAG = TerminalUtil.class.getSimpleName(); + private static TerminalUtil app; + + private TerminalUtils terminalUtils; + + BasicOptV2 basicOptV2; + + public static TerminalUtil getInstance(){ + if(app == null){ + app = new TerminalUtil(); + + } + return app; + } + + TerminalUtil(){ + + basicOptV2 = BaseApplication.basicOptV2; + terminalUtils = new TerminalUtilsImpl(); + } + + public void makeBuzzer(int count) throws RemoteException { + basicOptV2.buzzerOnDevice(count,7,3000,1000); + } + + public void shortBuzzer(int count) throws RemoteException { + basicOptV2.buzzerOnDevice(1, 2750, 200, 0); + } + + public void makeBuzzerParam(int count,int frequency,int duration,int interval) throws RemoteException { + basicOptV2.buzzerOnDevice(3,7,2000,1000); + } + + public String generateHashedString(String random) throws NoSuchAlgorithmException { + return terminalUtils.generateHashString(random); + + } + + public String getSerialNo() { + return terminalUtils.getSerialNumber(); + } + + public String generateRandomNumbers() { + return terminalUtils.generateRandom(); + } +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtils.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtils.java new file mode 100755 index 0000000..85ca1bb --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtils.java @@ -0,0 +1,17 @@ +package com.utsmyanmar.baselib.util; + +import com.sunmi.pay.hardware.aidlv2.system.BasicOptV2; + +import java.security.NoSuchAlgorithmException; + +public interface TerminalUtils { + + String generateHashString(String random) throws NoSuchAlgorithmException ; + String generateHashString(String random,BasicOptV2 basicOptV2) throws NoSuchAlgorithmException; + + String generateRandom(); + String getSerialNumber(BasicOptV2 basicOptV2); + + String getSerialNumber(); + +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtilsImpl.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtilsImpl.java new file mode 100755 index 0000000..d354637 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtilsImpl.java @@ -0,0 +1,94 @@ +package com.utsmyanmar.baselib.util; + +import android.os.RemoteException; + +import com.sunmi.pay.hardware.aidlv2.system.BasicOptV2; +import com.utsmyanmar.baselib.BaseApplication; +import com.utsmyanmar.paylibs.utils.core_utils.ByteUtil; + +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Random; + +public class TerminalUtilsImpl implements TerminalUtils{ + + long number = 2485718; + + long sub = 1251151; + +// public static native String getHiddenFromNative(); + +// public static native String getEncryptedFromNative(); + + +// static { +// System.loadLibrary("native-lib"); +// } + + @Override + public String generateHashString(String random) throws NoSuchAlgorithmException { + String sn = getSerialNumber(); + String snPN = BaseApplication.getInstance().getPackageName(); + String nonce = random; + String text = sn + snPN + nonce; +// LogUtil.d(TAG,"Plain Text: "+text); + MessageDigest digest = MessageDigest.getInstance("SHA-256"); + byte[] hash = digest.digest(text.getBytes(StandardCharsets.UTF_8)); + + + return ByteUtil.bytes2HexStr(hash); + } + + @Override + public String generateHashString(String random,BasicOptV2 basicOptV2) throws NoSuchAlgorithmException { + String sn = getSerialNumber(basicOptV2); + String snPN = BaseApplication.getInstance().getPackageName(); + String nonce = random; + String text = sn + snPN + nonce; +// LogUtil.d(TAG,"Plain Text: "+text); + MessageDigest digest = MessageDigest.getInstance("SHA-256"); + byte[] hash = digest.digest(text.getBytes(StandardCharsets.UTF_8)); + + + return ByteUtil.bytes2HexStr(hash); + } + + @Override + public String generateRandom() { + Random rnd = new Random(); + StringBuilder sb = new StringBuilder((1000000 + rnd.nextInt(9000000))); + return sb.toString(); + } + + @Override + public String getSerialNumber(BasicOptV2 basicOptV2){ + String data = ""; + try { +// data = basicOptV2.getSysParam(getEncryptedFromNative()); + data = basicOptV2.getSysParam("SN"); + } catch (RemoteException e) { + e.printStackTrace(); + } + + return data; + + + } + + @Override + public String getSerialNumber() { + String data = ""; + try { + data = BaseApplication.getInstance().deviceEngine.getDeviceInfo().getSn(); + } catch (Exception e) { + e.printStackTrace(); + } + + return data; + } + + +} + + diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/TimeoutCallback.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/TimeoutCallback.java new file mode 100755 index 0000000..175eea0 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/TimeoutCallback.java @@ -0,0 +1,8 @@ +package com.utsmyanmar.baselib.util; + +public interface TimeoutCallback { + + void onTrick(long trickTime); + + void onFinish(); +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/URLValidator.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/URLValidator.java new file mode 100755 index 0000000..fbddcec --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/URLValidator.java @@ -0,0 +1,18 @@ +package com.utsmyanmar.baselib.util; + +import java.net.MalformedURLException; +import java.net.URL; + +public class URLValidator { + + public static boolean isValidURL(String urlString) + { + try { + new URL(urlString); + return true; + } catch (MalformedURLException e) { + return false; + + } + } +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvPinMode.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvPinMode.java new file mode 100755 index 0000000..c604a4d --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvPinMode.java @@ -0,0 +1,5 @@ +package com.utsmyanmar.baselib.util.enums; + +public enum EmvPinMode { + ONLINE,OFFLINE +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvResultStatus.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvResultStatus.java new file mode 100755 index 0000000..48b44af --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvResultStatus.java @@ -0,0 +1,31 @@ +package com.utsmyanmar.baselib.util.enums; + +public enum EmvResultStatus { + SELECT_APP, + READ_CARD, + PIN_PAD_CANCEL, + PIN_PAD_CONFIRM, + PIN_PAD_ERROR, + READ_CARD_NO_APP, + READ_CARD_RETRY, + PIN_MISMATCH, + CLICK_CONFIRM, + SUCCESS, + BATCH_UPLOAD, + SUCCESS_ONLINE, + FAIL, + FAIL_ONLINE, + REVERSAL_PROCESS, + REVERSAL_FAIL, + REVERSAL_SUCCESS, + REVERSAL_SECONDARY, + ERROR, + NETWORK_ERROR, + TRY_AGAIN, + SECONDARY, + ON_NEXT_SCREEN, + OFFLINE_APPROVE, + OFFLINE_DECLINE, + + CONFIRM_CODE_VERIFY +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/enums/PinUtil.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/enums/PinUtil.java new file mode 100755 index 0000000..d3c59e0 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/enums/PinUtil.java @@ -0,0 +1,7 @@ +package com.utsmyanmar.baselib.util.enums; + +public enum PinUtil { + OLD_PIN, + NEW_PIN, + CONFIRM_PIN +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/ProcessDataResult.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/ProcessDataResult.java new file mode 100755 index 0000000..0342d79 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/ProcessDataResult.java @@ -0,0 +1,7 @@ +package com.utsmyanmar.baselib.util.rx_helper; + +import java.util.List; + +public interface ProcessDataResult { + void onSuccess(List lists); +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/ProcessSingleDataResult.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/ProcessSingleDataResult.java new file mode 100755 index 0000000..bff1fd9 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/ProcessSingleDataResult.java @@ -0,0 +1,10 @@ +package com.utsmyanmar.baselib.util.rx_helper; + +import android.os.RemoteException; + +public interface ProcessSingleDataResult { + + void onSuccess(T data); + + void onDataNotFound(); +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxCallbackUpdateX.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxCallbackUpdateX.java new file mode 100755 index 0000000..f9c41fd --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxCallbackUpdateX.java @@ -0,0 +1,12 @@ +package com.utsmyanmar.baselib.util.rx_helper; + +import io.reactivex.rxjava3.disposables.Disposable; + +public interface RxCallbackUpdateX +{ + + + void onError(Throwable throwable); + void onComplete(); + +} \ No newline at end of file diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxCallbackX.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxCallbackX.java new file mode 100755 index 0000000..5379fc1 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxCallbackX.java @@ -0,0 +1,13 @@ +package com.utsmyanmar.baselib.util.rx_helper; + +import android.os.RemoteException; + +import com.utsmyanmar.baselib.db.model.ContactlessAid; + +public interface RxCallbackX { + + void onSuccess(T data ) throws RemoteException; + void onError(Throwable throwable); + void onComplete(); + +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxHelper.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxHelper.java new file mode 100755 index 0000000..b3d35c5 --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxHelper.java @@ -0,0 +1,20 @@ +package com.utsmyanmar.baselib.util.rx_helper; + +import java.util.List; + +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.core.Observable; + +public interface RxHelper { + + void queryData(Maybe> observable, RxCallbackX> callbackX); + + void updateData(Completable completable,RxCallbackUpdateX callbackX); + + void querySingleData(Maybe observable, RxCallbackX callbackX); + + void observableData(Observable observable, RxCallbackX callbackX); + + void dispose(); +} diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxUtil.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxUtil.java new file mode 100755 index 0000000..47a973c --- /dev/null +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxUtil.java @@ -0,0 +1,92 @@ +package com.utsmyanmar.baselib.util.rx_helper; + +import com.utsmyanmar.baselib.db.model.ContactlessAid; +import com.utsmyanmar.paylibs.model.PayDetail; + +import java.util.List; + +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.annotations.NonNull; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.CompletableObserver; +import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.core.MaybeObserver; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.schedulers.Schedulers; + +public class RxUtil implements RxHelper { + + private final CompositeDisposable compositeDisposable = new CompositeDisposable(); + @Override + public void queryData(Maybe> observable,RxCallbackX> callbackX) { + compositeDisposable.add( + observable.subscribeOn(Schedulers.io()) + .observeOn(Schedulers.io()) + .subscribe( + callbackX::onSuccess, + callbackX::onError, + callbackX::onComplete + ) + ); + } + + @Override + public void updateData(Completable completable, RxCallbackUpdateX callbackX) { + + completable.subscribeOn(Schedulers.io()) + .observeOn(Schedulers.io()) + .subscribe(new CompletableObserver() { + @Override + public void onSubscribe(@NonNull Disposable d) { + + } + + @Override + public void onComplete() { + callbackX.onComplete(); + } + + @Override + public void onError(@NonNull Throwable e) { + callbackX.onError(e); + } + } + + ); + + } + + @Override + public void querySingleData(Maybe observable, RxCallbackX callbackX) { + compositeDisposable.add( + observable.subscribeOn(Schedulers.io()) + .observeOn(Schedulers.io()) + .subscribe( + callbackX::onSuccess, + callbackX::onError, + callbackX::onComplete + ) + ); + } + + @Override + public void observableData(Observable observable, RxCallbackX callbackX) { + compositeDisposable.add( + observable.subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe( + callbackX::onSuccess, + callbackX::onError, + callbackX::onComplete + ) + ); + } + + + @Override + public void dispose() { + compositeDisposable.dispose(); + } +} diff --git a/baselib/src/main/res/raw/certi.crt b/baselib/src/main/res/raw/certi.crt new file mode 100644 index 0000000..424b4bf --- /dev/null +++ b/baselib/src/main/res/raw/certi.crt @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIEITCCAwmgAwIBAgIUIp2h0WlGDCC6xqBayKEA2OfzMGAwDQYJKoZIhvcNAQEL +BQAwgZ4xCzAJBgNVBAYTAk1NMQ4wDAYDVQQIDAVCdXJtYTERMA8GA1UEBwwITWFu +ZGFsYXkxEzARBgNVBAoMClVBVF9LQlpQYXkxGjAYBgNVBAsMEVVBVF9LQlpQYXlf +UEdXX0NBMRcwFQYDVQQDDA5hcGkua2J6cGF5LmNvbTEiMCAGCSqGSIb3DQEJARYT +amlhbmdiaW5AaHVhd2VpLmNvbTAgFw0xOTA2MTcwMTE3MzNaGA8zMDE4MTAxODAx +MTczM1owgZ4xCzAJBgNVBAYTAk1NMQ4wDAYDVQQIDAVCdXJtYTERMA8GA1UEBwwI +TWFuZGFsYXkxEzARBgNVBAoMClVBVF9LQlpQYXkxGjAYBgNVBAsMEVVBVF9LQlpQ +YXlfUEdXX0NBMRcwFQYDVQQDDA5hcGkua2J6cGF5LmNvbTEiMCAGCSqGSIb3DQEJ +ARYTamlhbmdiaW5AaHVhd2VpLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBALCnpBEIKANGLSbYNajzAJ4Xc7H7XJF4erFdTR/iC1cXDenDwqIeEYpm +07jXhaPkwaQpNKO8vYkHFzY6zHO21TyswS1DowsDModnXCu8tG1mpY8p6w1wzTPI +3ccq7XYQiTmx0/9pMcuuJ/7uWA0/nFIDEpc8M0ra7tZDUgJA4nYnkryz35SwlctD +Pcb+XdKxpVOL0BnEkrT5lov+V0yOT/MTJnCEMECiR0Ggr632SPu4DovtHEpWVltq +aDqFu78KVMs3h9VfT7DUCwrXlbewD2Q3bMdsG41EPH1Wki28Sq+4lQ6EMZ7QQPbk +lOxW4J2Zq/ZCX7kaQsUOeSg81dGpMfsCAwEAAaNTMFEwHQYDVR0OBBYEFG0LxFC8 +DdLu2rB8PY6xxQZHOFrXMB8GA1UdIwQYMBaAFG0LxFC8DdLu2rB8PY6xxQZHOFrX +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAGDeGS0KCugqVQK8 +SQdK1FRRqQ94ObjTx38Da02g57gVnF2gAZLn8eCisq4bksR9B+Aya+gLZylUGFK9 +e2TCN1XVEDnyM4+qhs8XdKLsV0iVDMq+Hrsy1l4036Hhcy5XWH4SNN0fUrYXuaUw +zw1vHmv9IitYjRwZ13IpckbtwXOIj2bVUfN6OMnDQdcoNmXlYQsjaNZcfG/9rYV/ +Ob2ynG4yXnEsz9qRhE8V7i2mSR28eBffYVWYI822N6TDeqjRrztTlNMqRBosEzfQ +Igjm6XL31RJEJfnUCLOU2HLIMdBwsYFVoxwgFLr9THbK6IlKcag1/UvfjJP8pPn9 +jM4M6IA= +-----END CERTIFICATE----- diff --git a/baselib/src/main/res/raw/client.pkcs12 b/baselib/src/main/res/raw/client.pkcs12 new file mode 100644 index 0000000000000000000000000000000000000000..e331c18382306123c0f27149363f623678ff21ec GIT binary patch literal 2835 zcmai$XEYlO7so}05wXRHRjV3B)ZUcZrA8~XHA)e)N$l22jo7QhUN1^pT3VtSbVRGD zsy%9zRM6(By?H(7eNUf{&xd>NxxfF1`{ADRI~PTOaxembC<1FIgaw&smbeWAFagR4 ztj!<-YvT#7M-jk6|3r{70vLLNm>2;JCyn8s1b}k=Gk{?zJCxEtBO6Kz#K}RQz9Ro? zPqOYup(4+KES8axnE}NHVgBD%MiwvwN(92WR58 zzEN9lUEq;zj>aMC)=19aN|d-=^J40ZuS|l$aPAFFDU{RTL*TOb<}u=$`$tW23eF`) zZ5==>y06cehx;rBIIt$xw1~eML+8H6TJ0(6>!uE=_mp{l{1!JM=7oPewevb2Y=KP; z10{o^{_=!%L`r55ujgic(R1JNAc{=Airl@_mU<<8`1n!^6B#YVih^wH0~cs4P%#JysI%n0~$9j7$4RoaLq6!#20=L7=Me z9CM>0nG4x02eNxMfv?+d!NgY%E~-mOw#-Ghv1cK-av;J*)!otO4ZEG57xZrwru$-5 z6yEs-evA=^@|lZD%TOI;3&EvXs*g6ql2>F^yE;!fvDfl6^r3@wH7r!+Ofx)M8=LI_ z9UoIUNgUM4my6suJ!joDX5fA!Ybx0(kVe`*SzDj=WZH*~z$#jhQ=Sr-a_a<5)k3Aj#FCM>BlMLV4P~EVPX||8 zlX7h(*R7i)%MD`OYId^e{)m-+y;)_JE~aw>AB(lncJF{bhtKee^9zSxie$k5$Q)on!W)ltvypWvh83rFa z(^alpARn7t)%yh|J?GZ(1aTbItX?Nw$h~&rz_dS}`&*pgC=dZ0ae_lm3JZb$->Gb@ z0LGJ0^8~8?n<#7g-o7_mv`1#VK+s3DTb%z@l*Zvhg+{$5y>K$EK7S?J5kvs>128kd zNUt?-$lQva;<`kpkY3FGCaW@fE*ddQG>R}Z%V1U;D{+ojq0H>re@VE5EC+uYY+me+ z_`;iq&#{CnU-roBXsqmS8oQ?zWSnG|wzK6}P0T3abjAK^QyB32Cg3)BI7WRa;wekC z`V_7PKJ_$gIAp$L9cWaMw?}&I_->3E_Lk0$&G3L1jT0v;%%Z)hnK8kuTN@}Em_L|R z0zcbUZ5~hx7)q}(sX)9J#5OS(g@~9ZX(b57$whUkW8Q{>kCYQYD35e?uuTq>?hlTL zQsI+5C`ls*2&D5bA5p|z{detrsi%Jp_}L#MXhwal2ubk@^gTG7@vQ5YdywVB$#s!1 z-{aBHFz%R*)UCHI$PGFGOUzQyp|Cu>>SjY%8j-Dc(A->@q0L#9<)_~>}2!E<#?Fy`wU5mVm=*SB6@jJ=@>7X}uT+UJA}D-POe^GjK`Vg$bWiO|M8 zy=`BVE(IPs5aKRLR5iZh50#+oBNq_)J%%@nfkJ^^frYUxGu&3ZTfs=ZO&$Pu@_UQH zzSDc7o!b$%H~30^vd6j3$oQTA?itQ-9t+LPTKn$MBTQw$vdqqf8~^yIFG!z`wkLw)VH7rf1srv zc5V45bezu)sx{X!dS7Vf36ae~O>|}Q6~KBho;zi7x;+ISNal|dbc|X0^ky;)YEo8@ zy!RI()HBX}*xVw7^0i3_+N*m1(uObY>T0!So1$FG(koLAU=xG6qUWMKwLsSP_Lcq= zv8L(xh9hJyRxO)b_g-$!ImZh(Jq+v~Ufq2Sdl)H$*3Cw&a@ak57RqCF*1}W!K~6Yf zqtX8&OrLLJe2cALofB-_U&-}*F;H~SOO}g;d-qA=YBGU+TpfTQ~exsBSeCh1+%NX^B|8!?`&Taneo97Nul154X5iJX!5*)-Ud`!)kDEJUW zPir|-^}TE0l?{6c$`GZ5g8g|T83AAhkhq>=^S;-tcd^Mi`-yUcfRW#Kvb-GD-X;!e YHDOQn7aM?>8y~F6tP97~{jJ*n0s*fZCIA2c literal 0 HcmV?d00001