first commit
This commit is contained in:
commit
b5a82a5fd1
6
baselib/src/main/java/com/utsmyanmar/baselib/util/BackPressCallback.java
Executable file
6
baselib/src/main/java/com/utsmyanmar/baselib/util/BackPressCallback.java
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
package com.utsmyanmar.baselib.util;
|
||||||
|
|
||||||
|
public interface BackPressCallback {
|
||||||
|
|
||||||
|
void onBackPress();
|
||||||
|
}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
package com.utsmyanmar.baselib.util;
|
||||||
|
|
||||||
|
public interface CardDetectCallback {
|
||||||
|
void onComplete();
|
||||||
|
}
|
||||||
35
baselib/src/main/java/com/utsmyanmar/baselib/util/Config.java
Executable file
35
baselib/src/main/java/com/utsmyanmar/baselib/util/Config.java
Executable file
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
49
baselib/src/main/java/com/utsmyanmar/baselib/util/DataBindingConfig.java
Executable file
49
baselib/src/main/java/com/utsmyanmar/baselib/util/DataBindingConfig.java
Executable file
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
5
baselib/src/main/java/com/utsmyanmar/baselib/util/DelayCaller.java
Executable file
5
baselib/src/main/java/com/utsmyanmar/baselib/util/DelayCaller.java
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
package com.utsmyanmar.baselib.util;
|
||||||
|
|
||||||
|
public interface DelayCaller {
|
||||||
|
void onCall();
|
||||||
|
}
|
||||||
8
baselib/src/main/java/com/utsmyanmar/baselib/util/DialogCallback.java
Executable file
8
baselib/src/main/java/com/utsmyanmar/baselib/util/DialogCallback.java
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
package com.utsmyanmar.baselib.util;
|
||||||
|
|
||||||
|
public interface DialogCallback {
|
||||||
|
|
||||||
|
void onClickCancel();
|
||||||
|
|
||||||
|
void onClickRetry();
|
||||||
|
}
|
||||||
32
baselib/src/main/java/com/utsmyanmar/baselib/util/NetworkHelpers.java
Executable file
32
baselib/src/main/java/com/utsmyanmar/baselib/util/NetworkHelpers.java
Executable file
@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
62
baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtil.java
Executable file
62
baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtil.java
Executable file
@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
17
baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtils.java
Executable file
17
baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtils.java
Executable file
@ -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();
|
||||||
|
|
||||||
|
}
|
||||||
94
baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtilsImpl.java
Executable file
94
baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtilsImpl.java
Executable file
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
8
baselib/src/main/java/com/utsmyanmar/baselib/util/TimeoutCallback.java
Executable file
8
baselib/src/main/java/com/utsmyanmar/baselib/util/TimeoutCallback.java
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
package com.utsmyanmar.baselib.util;
|
||||||
|
|
||||||
|
public interface TimeoutCallback {
|
||||||
|
|
||||||
|
void onTrick(long trickTime);
|
||||||
|
|
||||||
|
void onFinish();
|
||||||
|
}
|
||||||
18
baselib/src/main/java/com/utsmyanmar/baselib/util/URLValidator.java
Executable file
18
baselib/src/main/java/com/utsmyanmar/baselib/util/URLValidator.java
Executable file
@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
5
baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvPinMode.java
Executable file
5
baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvPinMode.java
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
package com.utsmyanmar.baselib.util.enums;
|
||||||
|
|
||||||
|
public enum EmvPinMode {
|
||||||
|
ONLINE,OFFLINE
|
||||||
|
}
|
||||||
31
baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvResultStatus.java
Executable file
31
baselib/src/main/java/com/utsmyanmar/baselib/util/enums/EmvResultStatus.java
Executable file
@ -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
|
||||||
|
}
|
||||||
7
baselib/src/main/java/com/utsmyanmar/baselib/util/enums/PinUtil.java
Executable file
7
baselib/src/main/java/com/utsmyanmar/baselib/util/enums/PinUtil.java
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
package com.utsmyanmar.baselib.util.enums;
|
||||||
|
|
||||||
|
public enum PinUtil {
|
||||||
|
OLD_PIN,
|
||||||
|
NEW_PIN,
|
||||||
|
CONFIRM_PIN
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
package com.utsmyanmar.baselib.util.rx_helper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ProcessDataResult <T>{
|
||||||
|
void onSuccess(List<T> lists);
|
||||||
|
}
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
package com.utsmyanmar.baselib.util.rx_helper;
|
||||||
|
|
||||||
|
import android.os.RemoteException;
|
||||||
|
|
||||||
|
public interface ProcessSingleDataResult <T>{
|
||||||
|
|
||||||
|
void onSuccess(T data);
|
||||||
|
|
||||||
|
void onDataNotFound();
|
||||||
|
}
|
||||||
@ -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();
|
||||||
|
|
||||||
|
}
|
||||||
13
baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxCallbackX.java
Executable file
13
baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxCallbackX.java
Executable file
@ -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 <T>{
|
||||||
|
|
||||||
|
void onSuccess(T data ) throws RemoteException;
|
||||||
|
void onError(Throwable throwable);
|
||||||
|
void onComplete();
|
||||||
|
|
||||||
|
}
|
||||||
20
baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxHelper.java
Executable file
20
baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxHelper.java
Executable file
@ -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 <T> {
|
||||||
|
|
||||||
|
void queryData(Maybe<List<T>> observable, RxCallbackX<List<T>> callbackX);
|
||||||
|
|
||||||
|
void updateData(Completable completable,RxCallbackUpdateX callbackX);
|
||||||
|
|
||||||
|
void querySingleData(Maybe<T> observable, RxCallbackX<T> callbackX);
|
||||||
|
|
||||||
|
void observableData(Observable<T> observable, RxCallbackX<T> callbackX);
|
||||||
|
|
||||||
|
void dispose();
|
||||||
|
}
|
||||||
92
baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxUtil.java
Executable file
92
baselib/src/main/java/com/utsmyanmar/baselib/util/rx_helper/RxUtil.java
Executable file
@ -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 <T> implements RxHelper<T > {
|
||||||
|
|
||||||
|
private final CompositeDisposable compositeDisposable = new CompositeDisposable();
|
||||||
|
@Override
|
||||||
|
public void queryData(Maybe<List<T>> observable,RxCallbackX<List<T>> 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<T> observable, RxCallbackX<T> callbackX) {
|
||||||
|
compositeDisposable.add(
|
||||||
|
observable.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(Schedulers.io())
|
||||||
|
.subscribe(
|
||||||
|
callbackX::onSuccess,
|
||||||
|
callbackX::onError,
|
||||||
|
callbackX::onComplete
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void observableData(Observable<T> observable, RxCallbackX<T> callbackX) {
|
||||||
|
compositeDisposable.add(
|
||||||
|
observable.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(
|
||||||
|
callbackX::onSuccess,
|
||||||
|
callbackX::onError,
|
||||||
|
callbackX::onComplete
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void dispose() {
|
||||||
|
compositeDisposable.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
25
baselib/src/main/res/raw/certi.crt
Normal file
25
baselib/src/main/res/raw/certi.crt
Normal file
@ -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-----
|
||||||
BIN
baselib/src/main/res/raw/client.pkcs12
Normal file
BIN
baselib/src/main/res/raw/client.pkcs12
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user