From 402490ee5823948c5bbec86bd476c2c5fc273ff4 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Wed, 10 Jun 2026 08:48:07 +0800 Subject: [PATCH] =?UTF-8?q?[FEAT]=20General=20=E4=BB=98=E6=AC=BE=E9=81=B8?= =?UTF-8?q?=E5=96=AE=E5=95=9F=E7=94=A8=20+=20BuyDialog=20NFC=20=E9=A1=AF?= =?UTF-8?q?=E7=A4=BA=E6=8E=A7=E5=88=B6=EF=BC=88Part=202-1=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DevSet 初始預設值改由 res/values/devset_defaults.xml 提供,各 flavor 可覆寫; main 維持原值(Chengwai/Cmuh 行為不變),General override 為購物車 + 現金/ 刷卡/玉山/LINE Pay/發票全開,裝上即可用。 - BuyDialog 購物車分支:NFC 卡/儲值/手機改逐顆依 isDevNFCPay 控制顯示 (TaiwanStar 無 layoutNfcPay 容器,修正原本指向不存在 view 而被註解的問題)。 三 flavor 編譯通過、General APK 打包成功。 Co-Authored-By: Claude Opus 4.8 --- .../General/res/values/devset_defaults.xml | 11 ++++++++++ .../java/com/unibuy/smartdevice/MyApp.java | 20 +++++++++++++++-- .../smartdevice/ui/dialog/BuyDialog.java | 10 ++++----- app/src/main/res/values/devset_defaults.xml | 22 +++++++++++++++++++ 4 files changed, 56 insertions(+), 7 deletions(-) create mode 100644 app/src/General/res/values/devset_defaults.xml create mode 100644 app/src/main/res/values/devset_defaults.xml diff --git a/app/src/General/res/values/devset_defaults.xml b/app/src/General/res/values/devset_defaults.xml new file mode 100644 index 0000000..981f2d5 --- /dev/null +++ b/app/src/General/res/values/devset_defaults.xml @@ -0,0 +1,11 @@ + + + + true + true + true + diff --git a/app/src/main/java/com/unibuy/smartdevice/MyApp.java b/app/src/main/java/com/unibuy/smartdevice/MyApp.java index 1632b0e..f4419e5 100644 --- a/app/src/main/java/com/unibuy/smartdevice/MyApp.java +++ b/app/src/main/java/com/unibuy/smartdevice/MyApp.java @@ -192,8 +192,24 @@ public class MyApp extends Application { this.comPort2ByNFCPay = ComPort.COM_PORT_S2; } - this.devSet = new DevSetStructure(true, false, false, true, true, - true, true, false, false,true,true,true,true,true); + // DevSet 初始預設值改由 res/values/devset_defaults.xml 提供, + // 各 flavor 可覆寫(General override 為「購物車 + 現金/刷卡/掃碼/發票」全開)。 + android.content.res.Resources devSetRes = getResources(); + this.devSet = new DevSetStructure( + devSetRes.getBoolean(R.bool.devset_default_vmc), + devSetRes.getBoolean(R.bool.devset_default_electric), + devSetRes.getBoolean(R.bool.devset_default_shopping_cart), + devSetRes.getBoolean(R.bool.devset_default_invoice), + devSetRes.getBoolean(R.bool.devset_default_nfc_pay), + devSetRes.getBoolean(R.bool.devset_default_esun_pay), + devSetRes.getBoolean(R.bool.devset_default_tap_pay), + devSetRes.getBoolean(R.bool.devset_default_cash), + devSetRes.getBoolean(R.bool.devset_default_line_pay), + devSetRes.getBoolean(R.bool.devset_default_tap_pay_30), + devSetRes.getBoolean(R.bool.devset_default_tap_pay_31), + devSetRes.getBoolean(R.bool.devset_default_tap_pay_32), + devSetRes.getBoolean(R.bool.devset_default_tap_pay_33), + devSetRes.getBoolean(R.bool.devset_default_tap_pay_34)); this.machine = new MachineStructure(""); this.esunpay = new EsunpayStructure("", "", ""); this.greenInvoice = new GreenInvoiceStructure("", "", "", ""); diff --git a/app/src/main/java/com/unibuy/smartdevice/ui/dialog/BuyDialog.java b/app/src/main/java/com/unibuy/smartdevice/ui/dialog/BuyDialog.java index 8aaf876..f4e2fe3 100644 --- a/app/src/main/java/com/unibuy/smartdevice/ui/dialog/BuyDialog.java +++ b/app/src/main/java/com/unibuy/smartdevice/ui/dialog/BuyDialog.java @@ -235,11 +235,11 @@ public class BuyDialog extends DialogAbstract { } if (MyApp.getInstance().getDevSet().isShoppingCar()) { - if (MyApp.getInstance().getDevSet().isDevNFCPay()) { -// binding.layoutNfcPay.setVisibility(View.VISIBLE); - } else { -// binding.layoutNfcPay.setVisibility(View.GONE); - } + // NFC 卡/儲值/手機(TaiwanStar 無 layoutNfcPay 容器,改逐顆控制),依 isDevNFCPay 顯示/隱藏 + int nfcVisibility = MyApp.getInstance().getDevSet().isDevNFCPay() ? View.VISIBLE : View.GONE; + binding.buttonNfcCard.setVisibility(nfcVisibility); + binding.buttonNfcRecharge.setVisibility(nfcVisibility); + binding.buttonNfcPhone.setVisibility(nfcVisibility); if (MyApp.getInstance().getDevSet().isDevEsunPay()) { binding.buttonEsunPay.setVisibility(View.VISIBLE); diff --git a/app/src/main/res/values/devset_defaults.xml b/app/src/main/res/values/devset_defaults.xml new file mode 100644 index 0000000..6081e21 --- /dev/null +++ b/app/src/main/res/values/devset_defaults.xml @@ -0,0 +1,22 @@ + + + + true + false + false + true + true + true + true + false + false + true + true + true + true + true +