update button hide/show on qr refund
This commit is contained in:
parent
d42ee5d2f7
commit
424678e0ca
@ -12,7 +12,7 @@ android {
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.utsmm.kbz"
|
||||
minSdk 23
|
||||
minSdk 24
|
||||
targetSdk 33
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
@ -29,14 +29,14 @@ android {
|
||||
dimension "env"
|
||||
applicationId "com.utsmm.kbz.sit"
|
||||
versionNameSuffix "-sit"
|
||||
resValue "string", "app_name", "KBZ-POS-SIT"
|
||||
resValue "string", "app_name", "KBZ-SIT"
|
||||
}
|
||||
|
||||
uat {
|
||||
dimension "env"
|
||||
applicationId "com.utsmm.kbz.uat"
|
||||
versionNameSuffix "-uat"
|
||||
resValue "string", "app_name", "KBZ-POS-UAT"
|
||||
resValue "string", "app_name", "KBZ-UAT"
|
||||
}
|
||||
|
||||
prod {
|
||||
|
||||
@ -58,6 +58,8 @@ public class MainViewModel extends ViewModel {
|
||||
|
||||
public MutableLiveData<Boolean> kPayStatus = new MutableLiveData<>();
|
||||
|
||||
public MutableLiveData<Boolean> voidStatus = new MutableLiveData<>();
|
||||
|
||||
|
||||
public SingleLiveEvent<String> disabledMsg = new SingleLiveEvent<>();
|
||||
|
||||
@ -98,6 +100,8 @@ public class MainViewModel extends ViewModel {
|
||||
kPayStatus.setValue(SystemParamsOperation.getInstance().getQRPayStatus());
|
||||
|
||||
disabledMsg.setValue(SystemParamsOperation.getInstance().getDisabledMsg());
|
||||
|
||||
voidStatus.setValue(SystemParamsOperation.getInstance().getVoidStatus());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -51,10 +51,12 @@ public class QRPayAdapter extends RecyclerView.Adapter<QRPayAdapter.ViewHolder>
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
||||
QRPayItem item = items.get(position);
|
||||
holder.binding.setText(item.title);
|
||||
holder.binding.setIcon(item.icon);
|
||||
|
||||
holder.binding.setItem(item);
|
||||
holder.binding.executePendingBindings();
|
||||
|
||||
holder.binding.btnItem.setOnClickListener(v -> {
|
||||
if(listener != null){
|
||||
if(item.isActive && listener != null){
|
||||
listener.onItemClick(position);
|
||||
}
|
||||
});
|
||||
|
||||
@ -100,10 +100,18 @@ public class InputAmountFragment extends DataBindingFragment implements DataBind
|
||||
setToolBarTitleWithBackIcon(getResourceString(R.string.txt_subtitle_amount));
|
||||
|
||||
boolean decimalEnabled = SystemParamsOperation.getInstance().getDecimalEnable();
|
||||
boolean qrDecimalEnabled = SystemParamsOperation.getInstance().isQrDecimalEnable();
|
||||
boolean isDecimalEnabled;
|
||||
|
||||
if(sharedViewModel.transactionsType.getValue() == TransactionsType.MMQR){
|
||||
isDecimalEnabled = qrDecimalEnabled;
|
||||
}else {
|
||||
isDecimalEnabled = decimalEnabled;
|
||||
}
|
||||
View keyboardView = getView().findViewById(R.id.numberKeyboard);
|
||||
|
||||
if (keyboardView instanceof NumberKeyboard) {
|
||||
((NumberKeyboard) keyboardView).setDecimalEnable(decimalEnabled);
|
||||
((NumberKeyboard) keyboardView).setDecimalEnable(isDecimalEnabled);
|
||||
}
|
||||
|
||||
if(sharedViewModel.isEcr.getValue() != null){
|
||||
|
||||
@ -405,7 +405,7 @@ public class SharedViewModel extends ViewModel {
|
||||
}
|
||||
}
|
||||
|
||||
private void startPrintProcessSettlement() {
|
||||
public void startPrintProcessSettlement() {
|
||||
|
||||
if(payDetail.getValue() == null) return;
|
||||
|
||||
|
||||
@ -17,12 +17,14 @@ import com.utsmm.kbz.util.tms.TMSUtil;
|
||||
import com.utsmyanmar.baselib.util.DataBindingConfig;
|
||||
import com.utsmyanmar.baselib.fragment.DataBindingFragment;
|
||||
import com.utsmyanmar.paylibs.model.PayDetail;
|
||||
import com.utsmyanmar.paylibs.utils.LogUtil;
|
||||
import com.utsmyanmar.paylibs.utils.POSUtil;
|
||||
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
|
||||
import com.utsmyanmar.paylibs.utils.enums.CurrencyType;
|
||||
import com.utsmyanmar.paylibs.utils.enums.HostType;
|
||||
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@ -33,9 +35,6 @@ public class QRPayFragment extends DataBindingFragment {
|
||||
private static final int hostId = Constants.NAV_HOST_ID;
|
||||
private int routeId;
|
||||
private static final int currentId = R.id.qrFragment;
|
||||
|
||||
|
||||
|
||||
private Observer<PayDetail> observeLastTrans;
|
||||
private PayDetail lastPay;
|
||||
|
||||
@ -54,12 +53,20 @@ public class QRPayFragment extends DataBindingFragment {
|
||||
|
||||
@Override
|
||||
protected DataBindingConfig getDataBindingConfig() {
|
||||
boolean isQrRefundEnable = SystemParamsOperation.getInstance().getQrRefundEnable();
|
||||
LogUtil.d("KMK", "isQrRefundEnable =>" + isQrRefundEnable);
|
||||
List<QRPayItem> features = new ArrayList<>();
|
||||
features.add(new QRPayItem("Sale", R.drawable.ic_qr_pay, true));
|
||||
if(isQrRefundEnable){
|
||||
features.add(new QRPayItem("Refund", R.drawable.ic_refund, false));
|
||||
}
|
||||
features.add(new QRPayItem("History", R.drawable.ic_history, true));
|
||||
|
||||
List<QRPayItem> features = List.of(
|
||||
new QRPayItem("Sale", R.drawable.ic_qr_pay),
|
||||
new QRPayItem("Refund", R.drawable.ic_refund),
|
||||
new QRPayItem("History", R.drawable.ic_history)
|
||||
);
|
||||
// List<QRPayItem> features = List.of(
|
||||
// new QRPayItem("Sale", R.drawable.ic_qr_pay, true),
|
||||
// new QRPayItem("Refund", R.drawable.ic_refund, false),
|
||||
// new QRPayItem("History", R.drawable.ic_history, true)
|
||||
// );
|
||||
|
||||
QRPayAdapter adapter = new QRPayAdapter(features, position -> {
|
||||
QRPayItem selectedBtn = features.get(position);
|
||||
|
||||
@ -3,9 +3,12 @@ package com.utsmm.kbz.ui.qr_pay;
|
||||
public class QRPayItem {
|
||||
public String title;
|
||||
public int icon;
|
||||
public boolean isActive;
|
||||
|
||||
public QRPayItem(String title, int icon) {
|
||||
public QRPayItem(String title, int icon, boolean isActive) {
|
||||
this.title = title;
|
||||
this.icon = icon;
|
||||
this.isActive = isActive;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
@ -49,8 +50,8 @@ public class HostConfigFragment extends DataBindingFragment {
|
||||
|
||||
private HostConfigViewModel viewModel;
|
||||
protected Printer printer;
|
||||
int FONT_NORMAL = 20;
|
||||
int FONT_HEADER = 28;
|
||||
int FONT_NORMAL = 24;
|
||||
int FONT_HEADER = 30;
|
||||
|
||||
@Override
|
||||
protected void initViewModel() {
|
||||
@ -112,20 +113,18 @@ public class HostConfigFragment extends DataBindingFragment {
|
||||
return;
|
||||
}
|
||||
printer.setGray(GrayLevelEnum.LEVEL_2);
|
||||
printer.setTypeface(Typeface.SANS_SERIF);
|
||||
Typeface typeface = ResourcesCompat.getFont(requireContext(), R.font.consolas_regular);
|
||||
printer.setTypeface(typeface);
|
||||
SystemParamsOperation sp = SystemParamsOperation.getInstance();
|
||||
|
||||
|
||||
Bitmap bitmap = BitmapFactory.decodeResource(requireContext().getResources(), com.utsmyanmar.paylibs.R.drawable.print_kbz_logo);
|
||||
Bitmap bitmap = BitmapFactory.decodeResource(requireContext().getResources(), R.drawable.kbz_receipt_logo);
|
||||
printLogo(bitmap);
|
||||
printer.appendPrnStr("\n", FONT_NORMAL, AlignEnum.CENTER, false);
|
||||
printer.appendPrnStr("TERMINAL CONFIGURATION", FONT_HEADER, AlignEnum.CENTER, true);
|
||||
printer.appendPrnStr("\n", FONT_NORMAL, AlignEnum.CENTER, false);
|
||||
printer.appendPrnStr(sp.getMerchantName(), FONT_NORMAL, AlignEnum.LEFT, false);
|
||||
printer.appendPrnStr(sp.getMerchantPhoneNo(), FONT_NORMAL, AlignEnum.LEFT, false);
|
||||
printer.appendPrnStr(sp.getMerchantName(), FONT_NORMAL, AlignEnum.CENTER, false);
|
||||
printer.appendPrnStr(sp.getMerchantAddress(), FONT_NORMAL, AlignEnum.CENTER, false);
|
||||
printer.appendPrnStr(sp.getMerchantAddress2(), FONT_NORMAL, AlignEnum.CENTER, false);
|
||||
printer.appendPrnStr("\n--------------------------------\n", FONT_NORMAL, AlignEnum.LEFT, false);
|
||||
printer.appendPrnStr("\n---------------------------\n", FONT_NORMAL, AlignEnum.LEFT, false);
|
||||
printer.appendPrnStr("PRIMARY HOST", FONT_NORMAL, AlignEnum.LEFT, true);
|
||||
printer.appendPrnStr("Name : " + sp.getHostName(), FONT_NORMAL, AlignEnum.LEFT, false);
|
||||
printer.appendPrnStr("TID : " + sp.getTerminalId(), FONT_NORMAL, AlignEnum.LEFT, false);
|
||||
@ -143,7 +142,7 @@ public class HostConfigFragment extends DataBindingFragment {
|
||||
printer.appendPrnStr("Secondary Ip : " + secIp, FONT_NORMAL, AlignEnum.LEFT, true);
|
||||
printer.appendPrnStr("Secondary Port: " + secPort, FONT_NORMAL, AlignEnum.LEFT, true);
|
||||
printer.appendPrnStr("Currency Code : " + sp.getCurrencyType(), FONT_NORMAL, AlignEnum.LEFT, true);
|
||||
printer.appendPrnStr("\n--------------------------------\n", FONT_NORMAL, AlignEnum.LEFT, false);
|
||||
printer.appendPrnStr("\n---------------------------\n", FONT_NORMAL, AlignEnum.LEFT, false);
|
||||
|
||||
if (!TextUtils.isEmpty(sp.getSecHostName())) {
|
||||
printer.appendPrnStr("SECONDARY HOST", FONT_NORMAL, AlignEnum.LEFT, true);
|
||||
@ -163,7 +162,7 @@ public class HostConfigFragment extends DataBindingFragment {
|
||||
printer.appendPrnStr("Secondary Ip : " + secHostSecIp, FONT_NORMAL, AlignEnum.LEFT, true);
|
||||
printer.appendPrnStr("Secondary Port: " + secHostSecPort, FONT_NORMAL, AlignEnum.LEFT, true);
|
||||
printer.appendPrnStr("Currency Code : " + sp.getCurrencyType(), FONT_NORMAL, AlignEnum.LEFT, true);
|
||||
printer.appendPrnStr("\n--------------------------------\n", FONT_NORMAL, AlignEnum.LEFT, false);
|
||||
printer.appendPrnStr("\n---------------------------\n", FONT_NORMAL, AlignEnum.LEFT, false);
|
||||
}
|
||||
|
||||
printer.startPrint(true, ret -> {
|
||||
|
||||
@ -602,8 +602,11 @@ public class TMSSetupsImpl implements TMSSetups{
|
||||
SystemParamsOperation.getInstance().setAppKey(data);
|
||||
} else if (TextUtils.equals(name,"app_id")) {
|
||||
SystemParamsOperation.getInstance().setAppId(data);
|
||||
}else if (TextUtils.equals(name, "qr_decimal_enable")) {
|
||||
SystemParamsOperation.getInstance().setQrDecimalEnable(parseBoolean(data));
|
||||
}else if (TextUtils.equals(name, "qr_refund_enable")){
|
||||
SystemParamsOperation.getInstance().setQrRefundEnable(parseBoolean(data));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
SystemParamsOperation.getInstance().setCarouselUrls(convertToString(imgUrls));
|
||||
|
||||
BIN
app/src/main/res/drawable/kbz_receipt_logo.png
Normal file
BIN
app/src/main/res/drawable/kbz_receipt_logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
BIN
app/src/main/res/font/consolas_regular.ttf
Normal file
BIN
app/src/main/res/font/consolas_regular.ttf
Normal file
Binary file not shown.
@ -167,6 +167,9 @@
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="120dp"
|
||||
android:background="@drawable/honey"
|
||||
android:clickable="@{mainViewModel.voidStatus}"
|
||||
android:focusable="@{mainViewModel.voidStatus}"
|
||||
android:alpha="@{mainViewModel.voidStatus ? 1f : 0.5f}"
|
||||
android:onClick="@{() -> click.onClickVoid()}"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/bt4"
|
||||
|
||||
@ -7,11 +7,8 @@
|
||||
<import type="com.utsmm.kbz.R"/>
|
||||
<import type="com.utsmm.kbz.util.enums.FeaturesType" />
|
||||
<variable
|
||||
name="text"
|
||||
type="String" />
|
||||
<variable
|
||||
name="icon"
|
||||
type="Integer" />
|
||||
name="item"
|
||||
type="com.utsmm.kbz.ui.qr_pay.QRPayItem" />
|
||||
</data>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_height="wrap_content"
|
||||
@ -25,8 +22,6 @@
|
||||
app:cardElevation="6dp"
|
||||
android:layout_margin="6dp"
|
||||
android:foreground="?android:attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="@color/white"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
@ -48,7 +43,7 @@
|
||||
android:layout_width="38dp"
|
||||
android:layout_height="38dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
app:srcUrl="@{icon}"
|
||||
app:srcUrl="@{item.icon}"
|
||||
app:tint="@color/colorPrimary"
|
||||
tools:src="@drawable/ic_sale"
|
||||
tools:tint="@color/colorPrimary" />
|
||||
@ -60,7 +55,7 @@
|
||||
android:fontFamily="@font/rubik_medium"
|
||||
android:gravity="center"
|
||||
android:maxLines="2"
|
||||
android:text="@{text}"
|
||||
android:text="@{item.title}"
|
||||
tools:text="button title"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/colorPrimary"
|
||||
|
||||
@ -285,8 +285,8 @@ public class NetworkModule {
|
||||
tmsAddress = getTMSUrlFromNative();
|
||||
}
|
||||
|
||||
String baseUrl = tmsAddress.trim() + "/api/v1/";
|
||||
// String baseUrl = tmsAddress.trim() + "/";
|
||||
// String baseUrl = tmsAddress.trim() + "/api/v1/";
|
||||
String baseUrl = tmsAddress.trim() + "/";
|
||||
|
||||
final Gson gson =
|
||||
new GsonBuilder().create();
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
configurations.maybeCreate("default")
|
||||
artifacts.add("default", file('nexgo-sdk-dlkey-1.0.2.aar'))
|
||||
artifacts.add("default", file('nexgo-sdk-dlkey-1.0.3.aar'))
|
||||
@ -0,0 +1 @@
|
||||
i/AndroidManifest.xml
|
||||
@ -0,0 +1 @@
|
||||
o/com.nexgo.downloadkey-r.txt
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1 @@
|
||||
i/jni
|
||||
@ -0,0 +1 @@
|
||||
o/nexgo-sdk-dlkey-1.0.3-api.jar
|
||||
Binary file not shown.
@ -0,0 +1 @@
|
||||
o/nexgo-sdk-dlkey-1.0.3-runtime.jar
|
||||
Binary file not shown.
@ -0,0 +1 @@
|
||||
o/com.nexgo.downloadkey
|
||||
@ -0,0 +1 @@
|
||||
o/nexgo-sdk-dlkey-1.0.3
|
||||
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.nexgo.downloadkey"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="21"
|
||||
android:targetSdkVersion="26" />
|
||||
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:label="@string/app_name"
|
||||
android:supportsRtl="true" >
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">downloadkey</string>
|
||||
</resources>
|
||||
@ -0,0 +1 @@
|
||||
i/jars/classes.jar
|
||||
@ -0,0 +1 @@
|
||||
i/
|
||||
@ -0,0 +1 @@
|
||||
i/res
|
||||
@ -0,0 +1 @@
|
||||
i/
|
||||
@ -0,0 +1 @@
|
||||
o/nexgo-sdk-dlkey-1.0.3-runtime
|
||||
Binary file not shown.
BIN
nexdlkey-lib/nexgo-sdk-dlkey-1.0.3.aar
Normal file
BIN
nexdlkey-lib/nexgo-sdk-dlkey-1.0.3.aar
Normal file
Binary file not shown.
@ -1573,4 +1573,25 @@ public class SystemParamsOperation {
|
||||
return params.isQrPartialRefundEnable();
|
||||
}
|
||||
|
||||
public void setQrDecimalEnable(boolean enable){
|
||||
SystemParamsSettings params = getSystemParamsSettings();
|
||||
params.setQrDecimalEnable(enable);
|
||||
saveSystemParamsSettings(params);
|
||||
}
|
||||
|
||||
public boolean isQrDecimalEnable(){
|
||||
SystemParamsSettings params = getSystemParamsSettings();
|
||||
return params.isQrDecimalEnable();
|
||||
}
|
||||
|
||||
public void setQrRefundEnable(boolean enable) {
|
||||
SystemParamsSettings params = getSystemParamsSettings();
|
||||
params.setQrRefundEnable(enable);
|
||||
saveSystemParamsSettings(params);
|
||||
}
|
||||
|
||||
public boolean getQrRefundEnable(){
|
||||
SystemParamsSettings params = getSystemParamsSettings();
|
||||
return params.getQrRefundEnable();
|
||||
}
|
||||
}
|
||||
@ -42,8 +42,8 @@ public class SystemParamsSettings implements Serializable {
|
||||
|
||||
// private String tmsAddress = "https://tms.smile-mm.com";
|
||||
// private String tmsAddress = "http://128.199.170.203";
|
||||
private String tmsAddress = "http://sirius-nest.utsmyanmar.com";
|
||||
// private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius";
|
||||
// private String tmsAddress = "http://sirius-nest.utsmyanmar.com";
|
||||
private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius";
|
||||
private String ereceiptAddress = "http://receipt-nest.utsmyanmar.com";
|
||||
|
||||
private String terminalCapability = "E0E8C8";
|
||||
@ -238,6 +238,9 @@ public class SystemParamsSettings implements Serializable {
|
||||
|
||||
private boolean qrPartialRefundEnable = false;
|
||||
|
||||
private boolean qrDecimalEnable = false;
|
||||
private boolean qrRefundEnable = false;
|
||||
|
||||
public boolean isQrPartialRefundEnable(){
|
||||
return qrPartialRefundEnable;
|
||||
}
|
||||
@ -932,6 +935,22 @@ public class SystemParamsSettings implements Serializable {
|
||||
this.emvEnabled = emvEnabled;
|
||||
}
|
||||
|
||||
public boolean isQrDecimalEnable() {
|
||||
return qrDecimalEnable;
|
||||
}
|
||||
|
||||
public void setQrDecimalEnable(boolean qrDecimalEnable){
|
||||
this.qrDecimalEnable = qrDecimalEnable;
|
||||
}
|
||||
|
||||
public void setQrRefundEnable(boolean qrRefundEnable) {
|
||||
this.qrRefundEnable = qrRefundEnable;
|
||||
}
|
||||
|
||||
public boolean getQrRefundEnable(){
|
||||
return qrRefundEnable;
|
||||
}
|
||||
|
||||
/* // 流水号起始
|
||||
private String serialNum = Configs.getInstance().SERIAL_NUM();
|
||||
// 批次号起始
|
||||
|
||||
Loading…
Reference in New Issue
Block a user