From ea8b02bbc2d20dc3db5b045fac4e6ddff7f44b7c Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期日, 29 九月 2024 10:30:10 +0800
Subject: [PATCH] 优化NFC模块架构,将一些方法抽调到父类中。修复一些bug
---
baselibrary/src/main/java/com/dayu/baselibrary/tools/print/HuaZhiRongHaiPrint.java | 72 ++++++++
baselibrary/src/main/java/com/dayu/baselibrary/BaseApplication.java | 17 +
baselibrary/src/main/java/com/dayu/baselibrary/utils/ModelUtils.java | 34 +++
qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/utils/PrintUtils.java | 37 ++--
baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java | 44 +++-
baselibrary/build.gradle | 1
baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java | 9
app/src/main/java/com/dayu/recharge/MyApplication.java | 2
/dev/null | 21 --
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java | 28 +-
baselibrary/exlibs/sdk.jar | 0
henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java | 31 +-
baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/HuaZhiNfcReadHepler.java | 70 +++++++
baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java | 20 +-
baselibrary/libs/libprinter.jar | 0
app/build.gradle | 2
baselibrary/src/main/java/com/dayu/baselibrary/tools/print/PrintAdater.java | 75 ++++++++
baselibrary/src/main/java/com/dayu/baselibrary/tools/print/ShangMiAidlUtil.java | 28 +-
18 files changed, 382 insertions(+), 109 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index d8d6824..bc5b5a1 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -67,7 +67,7 @@
runtimeOnly("androidx.room:room-common:2.3.0")
annotationProcessor "androidx.room:room-compiler:2.3.0"
- implementation 'com.google.zxing:core:3.4.1'
+// implementation 'com.google.zxing:core:3.4.1'
implementation group: 'net.sourceforge.jexcelapi', name: 'jxl', version: '2.6.12'
implementation 'com.wang.avi:library:2.1.3'
diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java
index 61d0747..fb0a33e 100644
--- a/app/src/main/java/com/dayu/recharge/MyApplication.java
+++ b/app/src/main/java/com/dayu/recharge/MyApplication.java
@@ -90,4 +90,6 @@
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(intent);
}
+
+
}
diff --git a/baselibrary/build.gradle b/baselibrary/build.gradle
index 16f5ba9..bb096b6 100644
--- a/baselibrary/build.gradle
+++ b/baselibrary/build.gradle
@@ -31,6 +31,7 @@
dependencies {
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
+ compileOnly fileTree(include: ['*.jar'], dir: 'exlibs')
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'androidx.core:core-ktx:1.8.0'
diff --git a/baselibrary/exlibs/sdk.jar b/baselibrary/exlibs/sdk.jar
new file mode 100644
index 0000000..ff18c27
--- /dev/null
+++ b/baselibrary/exlibs/sdk.jar
Binary files differ
diff --git a/baselibrary/libs/libprinter.jar b/baselibrary/libs/libprinter.jar
new file mode 100644
index 0000000..4a093f7
--- /dev/null
+++ b/baselibrary/libs/libprinter.jar
Binary files differ
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/BaseApplication.java b/baselibrary/src/main/java/com/dayu/baselibrary/BaseApplication.java
index 52f74bd..620b479 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/BaseApplication.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/BaseApplication.java
@@ -1,8 +1,16 @@
package com.dayu.baselibrary;
+import android.Manifest;
import android.app.Application;
+import android.os.Build;
+import android.util.Log;
-import com.dayu.baselibrary.utils.AidlUtil;
+import com.android.newpos.printer.PrinterManager;
+import com.dayu.baselibrary.tools.print.PrintAdater;
+import com.dayu.baselibrary.tools.print.ShangMiAidlUtil;
+import com.dayu.baselibrary.utils.ModelUtils;
+import com.pos.device.SDKManager;
+import com.pos.device.sys.SystemManager;
/**
* author: zuo
@@ -22,12 +30,13 @@
}
- //鍒濆鍖栨墦鍗扮浉鍏虫湇鍔�
+
public void onCreat(Application context) {
application = context;
- AidlUtil.getInstance().connectPrinterService(context);
- }
+ //鍒濆鍖栨墦鍗扮浉鍏虫湇鍔�
+ PrintAdater.getInstance().connectPrinterService(context);
+ }
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java b/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java
index 2bbdda6..028ffb5 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java
@@ -6,8 +6,11 @@
import android.nfc.NfcAdapter;
import android.os.Bundle;
-import com.dayu.baselibrary.tools.nfc.NfcCommonData;
+import com.dayu.baselibrary.tools.nfc.HuaZhiNfcReadHepler;
+import com.dayu.baselibrary.utils.ModelUtils;
import com.dayu.baselibrary.utils.TipUtil;
+import com.pos.device.picc.PiccReader;
+import com.pos.device.picc.PiccReaderCallback;
/**
* author: zuo
@@ -22,14 +25,14 @@
public abstract class BaseNfcActivity extends BaseActivity {
protected NfcAdapter mNfcAdapter;
private PendingIntent mPendingIntent;
- public static int adapterType = NfcCommonData.defaultType;
+ public static int adapterType = ModelUtils.defaultType;
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
switch (adapterType) {
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
onNfcBack(intent);
break;
}
@@ -44,13 +47,30 @@
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- //鍒ゆ柇鏄摢涓満鍨�
- try {
- Class.forName("com.pos.device.config.DevConfig");
- adapterType = NfcCommonData.HuaZhiRongHai;
- } catch (ClassNotFoundException e) {
- adapterType = NfcCommonData.defaultType;
+ switch (ModelUtils.getModelType()) {
+ case ModelUtils.defaultType:
+ case ModelUtils.ShangMiType:
+ adapterType = ModelUtils.defaultType;
+ break;
+ case ModelUtils.HuaZhiRongHaiType:
+ adapterType = ModelUtils.HuaZhiRongHaiType;
+ PiccReader.getInstance().startSearchCard(HuaZhiNfcReadHepler.TIMEOUT, new PiccReaderCallback() {
+ @Override
+ public void onSearchResult(int result, int cardType) {
+ if (result == PiccReaderCallback.SUCCESS) {
+ switch (cardType) {
+ //浠ヤ笅涓篗1鍗�
+ case PiccReader.MIFARE_ONE_S50:
+ case PiccReader.MIFARE_ONE_S70:
+ onNfcBack(null);
+ break;
+ }
+ }
+ }
+ });
+ break;
}
+
}
@Override
@@ -90,6 +110,12 @@
}
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+
+ }
+
/**
* 妫�娴嬪伐浣�,鍒ゆ柇璁惧鐨凬FC鏀寔鎯呭喌
*
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/HuaZhiNfcReadHepler.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/HuaZhiNfcReadHepler.java
new file mode 100644
index 0000000..47c3b33
--- /dev/null
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/HuaZhiNfcReadHepler.java
@@ -0,0 +1,70 @@
+package com.dayu.baselibrary.tools.nfc;
+
+import android.app.Activity;
+import android.content.Intent;
+
+import com.dayu.baselibrary.bean.BaseUserCardCard;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * author: zuo
+ * Date: 2024-09-27
+ * Time: 14:23
+ * 澶囨敞锛�
+ */
+public class HuaZhiNfcReadHepler extends BaseNfcReadHelper {
+
+ static String TAG = "HuaZhiNfcReadHepler";
+ static HuaZhiNfcReadHepler huaZhiNfcReadHepler;
+ public static final int TIMEOUT = -1;
+
+
+ public static HuaZhiNfcReadHepler getInstance(Intent intent, Activity activity) {
+ if (huaZhiNfcReadHepler != null) {
+ huaZhiNfcReadHepler = new HuaZhiNfcReadHepler();
+ }
+ return huaZhiNfcReadHepler;
+ }
+
+ @Override
+ public String getCradType() {
+ return "";
+ }
+
+ @Override
+ public void getAllData(NFCCallMapback callback) {
+
+ }
+
+ @Override
+ public void getOneSectorData(NFCCallListback callback) {
+
+ }
+
+ @Override
+ public String getCardNumber() {
+ return "";
+ }
+
+ @Override
+ public String getCradTypeAndCardNumber() {
+ return "";
+ }
+
+ @Override
+ public void getData(int a, int b, NFCCallByteback callback) {
+
+ }
+
+ @Override
+ public List<byte[]> getOnesectorData() {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public BaseUserCardCard getUserCardData(BaseUserCardCard userCardCard) {
+ return null;
+ }
+}
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcCommonData.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcCommonData.java
deleted file mode 100644
index d38ca8a..0000000
--- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcCommonData.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.dayu.baselibrary.tools.nfc;
-
-/**
- * author: zuo
- * Date: 2024-09-26
- * Time: 13:31
- * 澶囨敞锛歯fc鐩稿叧甯搁噺
- */
-public class NfcCommonData {
-
- /**
- * 榛樿鐨勮皟鐢ㄦ柟寮忥紙瀹夊崜鍘熺敓锛�
- */
- public final static int defaultType = 0;
- /**
- * 鍗庢櫤铻嶆捣鐨凷DK
- */
- public final static int HuaZhiRongHai = 1;
-
-
-}
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java
index fcbae8b..f8d4288 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java
@@ -5,8 +5,8 @@
import com.dayu.baselibrary.activity.BaseNfcActivity;
import com.dayu.baselibrary.bean.BaseUserCardCard;
+import com.dayu.baselibrary.utils.ModelUtils;
-import java.util.Collections;
import java.util.List;
/**
@@ -21,7 +21,7 @@
public NfcReadAdapter(Intent intent, Activity activity) {
switch (BaseNfcActivity.adapterType) {
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
nativeNfcReadHelper = new NativeNfcReadHelper(intent, activity);
break;
}
@@ -31,7 +31,7 @@
@Override
public String getCradType() {
switch (BaseNfcActivity.adapterType) {
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
return nativeNfcReadHelper.getCradType();
}
@@ -41,7 +41,7 @@
@Override
public void getAllData(NFCCallMapback callback) {
switch (BaseNfcActivity.adapterType) {
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
nativeNfcReadHelper.getAllData(callback);
break;
@@ -51,7 +51,7 @@
@Override
public void getOneSectorData(NFCCallListback callback) {
switch (BaseNfcActivity.adapterType) {
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
nativeNfcReadHelper.getOneSectorData(callback);
break;
@@ -61,7 +61,7 @@
@Override
public String getCardNumber() {
switch (BaseNfcActivity.adapterType) {
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
return nativeNfcReadHelper.getCardNumber();
@@ -72,7 +72,7 @@
@Override
public String getCradTypeAndCardNumber() {
switch (BaseNfcActivity.adapterType) {
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
return nativeNfcReadHelper.getCradTypeAndCardNumber();
@@ -83,7 +83,7 @@
@Override
public void getData(int a, int b, NFCCallByteback callback) {
switch (BaseNfcActivity.adapterType) {
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
nativeNfcReadHelper.getData(a, b, callback);
break;
}
@@ -92,7 +92,7 @@
@Override
public List<byte[]> getOnesectorData() {
switch (BaseNfcActivity.adapterType) {
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
return nativeNfcReadHelper.getOnesectorData();
@@ -103,7 +103,7 @@
@Override
public BaseUserCardCard getUserCardData(BaseUserCardCard userCardCard) {
switch (BaseNfcActivity.adapterType) {
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
return nativeNfcReadHelper.getUserCardData(userCardCard);
}
return null;
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java
index bed540e..8eab97b 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java
@@ -6,6 +6,7 @@
import com.dayu.baselibrary.activity.BaseNfcActivity;
import com.dayu.baselibrary.bean.BaseUserCardCard;
+import com.dayu.baselibrary.utils.ModelUtils;
/**
* author: zuo
@@ -17,7 +18,7 @@
NativeNfcWriteHelper nativeNfcWriteHelper;
public NfcWriteAdapter(Intent intent, Activity activity) {
switch (BaseNfcActivity.adapterType){
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
nativeNfcWriteHelper=new NativeNfcWriteHelper(intent,activity);
break;
}
@@ -26,7 +27,7 @@
@Override
public boolean writeUserData(BaseUserCardCard userCard) {
switch (BaseNfcActivity.adapterType){
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
return nativeNfcWriteHelper.writeUserData(userCard);
}
@@ -36,7 +37,7 @@
@Override
public boolean writeData(byte[] str, int a, int b) {
switch (BaseNfcActivity.adapterType){
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
return nativeNfcWriteHelper.writeData(str,a,b);
}
@@ -46,7 +47,7 @@
@Override
public boolean changePasword(int a, MifareClassic mfc) {
switch (BaseNfcActivity.adapterType){
- case NfcCommonData.defaultType:
+ case ModelUtils.defaultType:
return nativeNfcWriteHelper.changePasword(a,mfc);
}
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/HuaZhiRongHaiPrint.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/HuaZhiRongHaiPrint.java
new file mode 100644
index 0000000..128b4b8
--- /dev/null
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/HuaZhiRongHaiPrint.java
@@ -0,0 +1,72 @@
+package com.dayu.baselibrary.tools.print;
+
+import android.app.Application;
+import android.util.Log;
+
+import com.android.newpos.printer.PrinterListener;
+import com.android.newpos.printer.PrinterManager;
+import com.android.newpos.printer.bean.PrintAlignMent;
+import com.android.newpos.printer.bean.PrintFontSize;
+import com.android.newpos.printer.bean.PrintTextProperty;
+import com.pos.device.SDKManager;
+
+import java.util.List;
+
+/**
+ * author: zuo
+ * Date: 2024-09-27
+ * Time: 11:10
+ * 澶囨敞锛氬崕鏅鸿瀺娴峰叕鍙告墦鍗扮浉鍏�
+ */
+public class HuaZhiRongHaiPrint {
+
+ static HuaZhiRongHaiPrint huaZhiRongHaiPrint;
+
+ public static HuaZhiRongHaiPrint getInstance() {
+ if (huaZhiRongHaiPrint == null) {
+ huaZhiRongHaiPrint = new HuaZhiRongHaiPrint();
+ }
+ return huaZhiRongHaiPrint;
+ }
+
+ public void connectPrinterService(Application context) {
+ SDKManager.init(context, () -> {
+ Log.d("application", "鍒濆鍖栨垚鍔�");
+ PrinterManager.getInstance().init(context.getApplicationContext());
+ });
+ }
+
+
+ /**
+ * 鎵撳嵃鎸囧畾瀛椾綋鐨勬枃鏈紝瀛椾綋璁剧疆鍙鏈鏈夋晥
+ *
+ * @param content: 瑕佹墦鍗版枃瀛�
+ * @param isBold: 鏄惁鍔犵矖
+ * @param size: 瀛椾綋澶у皬
+ */
+ public void printText(List<String> content, float size, boolean isBold, boolean isUnderLine) {
+
+ try {
+ for (int i = 0; i < content.size(); i++) {
+ PrinterManager.getInstance().addText(new PrintTextProperty(PrintFontSize.LARGE, PrintAlignMent.LEFT, true), content.get(i));
+ }
+ PrinterManager.getInstance().feedLine(3);
+ PrinterManager.getInstance().startPrint(new PrinterListener() {
+ @Override
+ public void onFinish() {
+ }
+
+ @Override
+ public void onError(int i) {
+
+ }
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+
+ }
+
+
+}
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/PrintAdater.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/PrintAdater.java
new file mode 100644
index 0000000..0ce425c
--- /dev/null
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/PrintAdater.java
@@ -0,0 +1,75 @@
+package com.dayu.baselibrary.tools.print;
+
+import android.app.Application;
+import android.content.Context;
+import android.util.Log;
+
+import com.android.newpos.printer.PrinterManager;
+import com.dayu.baselibrary.utils.ModelUtils;
+import com.pos.device.SDKManager;
+
+import java.util.List;
+
+/**
+ * author: zuo
+ * Date: 2024-09-27
+ * Time: 10:29
+ * 澶囨敞锛氭墦鍗扮浉鍏崇殑璺敱
+ */
+public class PrintAdater {
+
+ static PrintAdater printAdater;
+
+ public static PrintAdater getInstance() {
+ if (printAdater == null) {
+ printAdater = new PrintAdater();
+ }
+ return printAdater;
+ }
+
+ /**
+ * 杩炴帴鏈嶅姟
+ */
+ public void connectPrinterService(Application context) {
+ switch (ModelUtils.getModelType()) {
+ case ModelUtils.ShangMiType:
+ ShangMiAidlUtil.getInstance().connectPrinterService(context);
+ break;
+ case ModelUtils.HuaZhiRongHaiType:
+ HuaZhiRongHaiPrint.getInstance().connectPrinterService(context);
+ break;
+ }
+ }
+
+ /**
+ * 鏂紑鏈嶅姟
+ *
+ * @param context context
+ */
+ public static void disconnectPrinterService(Context context) {
+ switch (ModelUtils.getModelType()) {
+ case ModelUtils.ShangMiType:
+ ShangMiAidlUtil.getInstance().connectPrinterService(context);
+ break;
+ }
+ }
+
+ /**
+ * 鎵撳嵃鎸囧畾瀛椾綋鐨勬枃鏈紝瀛椾綋璁剧疆鍙鏈鏈夋晥
+ *
+ * @param content: 瑕佹墦鍗版枃瀛�
+ * @param isBold: 鏄惁鍔犵矖
+ * @param size: 瀛椾綋澶у皬
+ */
+ public static void printText(List<String> content, float size, boolean isBold, boolean isUnderLine) {
+ switch (ModelUtils.getModelType()) {
+ case ModelUtils.ShangMiType:
+ ShangMiAidlUtil.getInstance().printText(content, size, isBold, isUnderLine);
+ break;
+ case ModelUtils.HuaZhiRongHaiType:
+ HuaZhiRongHaiPrint.getInstance().printText(content, size, isBold, isUnderLine);
+ break;
+ }
+ }
+
+}
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/utils/AidlUtil.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/ShangMiAidlUtil.java
similarity index 92%
rename from baselibrary/src/main/java/com/dayu/baselibrary/utils/AidlUtil.java
rename to baselibrary/src/main/java/com/dayu/baselibrary/tools/print/ShangMiAidlUtil.java
index 57ce8ea..4ff30e0 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/utils/AidlUtil.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/print/ShangMiAidlUtil.java
@@ -1,4 +1,4 @@
-package com.dayu.baselibrary.utils;
+package com.dayu.baselibrary.tools.print;
import android.content.ComponentName;
import android.content.Context;
@@ -14,6 +14,8 @@
import com.dayu.baselibrary.R;
import com.dayu.baselibrary.bean.TableItem;
+import com.dayu.baselibrary.utils.ESCUtil;
+import com.dayu.baselibrary.utils.PrinterCallback;
import java.util.ArrayList;
@@ -23,19 +25,21 @@
import woyou.aidlservice.jiuiv5.ICallback;
import woyou.aidlservice.jiuiv5.IWoyouService;
-
-public class AidlUtil {
+/**
+ * 鍟嗙背鎵撳嵃妯″潡鐩稿叧浠g爜
+ */
+public class ShangMiAidlUtil {
private static final String SERVICE锛縋ACKAGE = "woyou.aidlservice.jiuiv5";
private static final String SERVICE锛緼CTION = "woyou.aidlservice.jiuiv5.IWoyouService";
private IWoyouService woyouService;
- private static AidlUtil mAidlUtil = new AidlUtil();
+ private static ShangMiAidlUtil mAidlUtil = new ShangMiAidlUtil();
private Context context;
- private AidlUtil() {
+ private ShangMiAidlUtil() {
}
- public static AidlUtil getInstance() {
+ public static ShangMiAidlUtil getInstance() {
return mAidlUtil;
}
@@ -220,7 +224,7 @@
/**
* 鎵撳嵃鏂囧瓧
*/
- public void printText(String content, float size, boolean isBold, boolean isUnderLine) {
+ public void printText(List<String> content, float size, boolean isBold, boolean isUnderLine) {
if (woyouService == null) {
Toast.makeText(context, R.string.toast_2, Toast.LENGTH_LONG).show();
return;
@@ -238,8 +242,10 @@
} else {
woyouService.sendRAWData(ESCUtil.underlineOff(), null);
}
-
- woyouService.printTextWithFont(content, null, size, null);
+ woyouService.setFontSize(size, null);
+ for (int i = 0; i < content.size(); i++) {
+ woyouService.printText(content.get(i) + "\n", null);
+ }
woyouService.lineWrap(3, null);
} catch (RemoteException e) {
e.printStackTrace();
@@ -248,7 +254,7 @@
}
/*
- *鎵撳嵃鍥剧墖
+ *鎵撳嵃鍥剧墖
*/
public void printBitmap(Bitmap bitmap) {
if (woyouService == null) {
@@ -313,7 +319,7 @@
}
/*
- * 绌烘墦涓夎锛�
+ * 绌烘墦涓夎锛�
*/
public void print3Line() {
if (woyouService == null) {
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/utils/ModelUtils.java b/baselibrary/src/main/java/com/dayu/baselibrary/utils/ModelUtils.java
new file mode 100644
index 0000000..64b0632
--- /dev/null
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/utils/ModelUtils.java
@@ -0,0 +1,34 @@
+package com.dayu.baselibrary.utils;
+
+/**
+ * author: zuo
+ * Date: 2024-09-27
+ * Time: 10:18
+ * 澶囨敞锛氭満鍨嬬浉鍏冲叕鍏辨柟娉�
+ */
+public class ModelUtils {
+
+ /**
+ * 榛樿鐨勮皟鐢ㄦ柟寮忥紙瀹夊崜鍘熺敓锛�
+ */
+ public final static int defaultType = 0;
+ /**
+ * 鍗庢櫤铻嶆捣鐨凷DK
+ */
+ public final static int HuaZhiRongHaiType = 1;
+
+ public final static int ShangMiType = 2;
+
+ //鍒ゆ柇鏄摢涓満鍨�
+ public static int getModelType() {
+ int type;
+ try {
+ Class.forName("com.pos.device.config.DevConfig");
+ type = ModelUtils.HuaZhiRongHaiType;
+ return type;
+ } catch (ClassNotFoundException e) {
+ type = ModelUtils.ShangMiType;
+ return type;
+ }
+ }
+}
diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java
index be76c16..13418a8 100644
--- a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java
+++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java
@@ -10,9 +10,9 @@
import android.view.View;
import android.widget.Toast;
-import com.dayu.baselibrary.activity.BaseNfcActivity;
import com.dayu.baselibrary.tools.BcdUtil;
-import com.dayu.baselibrary.utils.AidlUtil;
+import com.dayu.baselibrary.tools.print.PrintAdater;
+import com.dayu.baselibrary.tools.print.ShangMiAidlUtil;
import com.dayu.baselibrary.utils.BaseCommon;
import com.dayu.baselibrary.utils.CRC8;
import com.dayu.baselibrary.utils.DateUtil;
@@ -48,8 +48,10 @@
import com.dayu.henanlibrary.view.ProgressDialog;
import com.tencent.bugly.crashreport.CrashReport;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
+import java.util.List;
/**
* Copyright (C), 2023,
@@ -365,8 +367,6 @@
}
-
-
/**
* 鎵撳嵃鏈虹浉鍏充俊鎭�
*
@@ -374,24 +374,21 @@
*/
private void setPrinterData(RechargeBean rechargeBean) {
try {
- StringBuffer data = new StringBuffer();
+ List<String> data = new ArrayList<>();
if (rechargeBean != null) {
- data.append("*****************************" + "\n");
- data.append("璁惧搴忓垪鍙凤細").append(rechargeBean.getSerial()).append("\n");
- data.append("鐢ㄦ埛鍚嶏細").append(rechargeBean.getUserName()).append("\n");
- // data.append("鎴� 鍙凤細" + rechargeBean.getUserNum() + "\n");
- data.append("鍏呭�奸噾棰濓細").append(rechargeBean.getMorny()).append("鍏�").append("\n");
- data.append("鍗″唴浣欓锛�").append(rechargeBean.getBalance()).append("鍏�").append("\n");
- data.append("鏃� 鏈燂細").append(DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2)).append("\n\n");
- data.append("*****************************");
+ data.add("*****************************");
+ data.add("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial());
+ data.add("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName());
+ data.add("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + "鍏�");
+ data.add("鍗″唴浣欓锛�" + rechargeBean.getBalance() + "鍏�");
+ data.add("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2));
+ data.add("*****************************");
}
-
float size = 26;
-
try {
- AidlUtil.getInstance().printText(data.toString(), size, true, false);
- AidlUtil.getInstance().print3Line();
+ PrintAdater.getInstance().printText(data, size, true, false);
+ ShangMiAidlUtil.getInstance().print3Line();
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java
index 4306e84..bdb654f 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivityQHAlone.java
@@ -9,7 +9,7 @@
import android.view.View;
import com.dayu.baselibrary.tools.HexUtil;
-import com.dayu.baselibrary.utils.AidlUtil;
+import com.dayu.baselibrary.tools.print.PrintAdater;
import com.dayu.baselibrary.utils.BaseCommon;
import com.dayu.baselibrary.utils.DateUtil;
import com.dayu.baselibrary.utils.MornyUtil;
@@ -39,7 +39,9 @@
import com.dayu.qihealonelibrary.utils.CardCommon;
import com.tencent.bugly.crashreport.CrashReport;
+import java.util.ArrayList;
import java.util.Calendar;
+import java.util.List;
/**
* Copyright (C), 2023,
@@ -47,7 +49,7 @@
* Date: 2023-11-08 21:19
* Description: nfc鍐欏崱鐣岄潰
*/
-public class NFCWreatActivityQHAlone extends QHAloneBaseNfcActivity {
+public class NFCWreatActivityQHAlone extends QHAloneBaseNfcActivity {
RegisteredCard registeredCard;
CleanUserCard cleanUserCard;
@@ -364,22 +366,20 @@
*/
private void setPrinterData(RechargeBean rechargeBean) {
try {
- StringBuffer data = new StringBuffer();
+ List<String> data = new ArrayList<>();
if (rechargeBean != null) {
- data.append("*****************************" + "\n");
- data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n");
- data.append("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName() + "\n");
- data.append("鍗� 鍙凤細" + rechargeBean.getCardNumber() + "\n");
- data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + " 鍏�" + "\n");
- data.append("鍗″唴浣欓锛�" + rechargeBean.getBalance() + " 鍏�" + "\n");
- data.append("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2) + "\n\n");
- data.append("*****************************");
+ data.add("*****************************");
+ data.add("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial());
+ data.add("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName());
+ data.add("鍗� 鍙凤細" + rechargeBean.getCardNumber());
+ data.add("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + " 鍏�");
+ data.add("鍗″唴浣欓锛�" + rechargeBean.getBalance() + " 鍏�");
+ data.add("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2));
+ data.add("*****************************");
}
float size = 26;
-
try {
- AidlUtil.getInstance().printText(data.toString(), size, true, false);
- AidlUtil.getInstance().print3Line();
+ PrintAdater.getInstance().printText(data, size, true, false);
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/utils/PrintUtils.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/utils/PrintUtils.java
index 9d0d1b3..b21ded2 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/utils/PrintUtils.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/utils/PrintUtils.java
@@ -1,12 +1,14 @@
package com.dayu.qiheonlinelibrary.utils;
-import android.text.TextUtils;
-
-import com.dayu.baselibrary.utils.AidlUtil;
+import com.dayu.baselibrary.tools.print.PrintAdater;
+import com.dayu.baselibrary.tools.print.ShangMiAidlUtil;
import com.dayu.baselibrary.utils.DateUtil;
import com.dayu.baselibrary.utils.MornyUtil;
import com.dayu.qiheonlinelibrary.dbBean.RechargeBean;
import com.tencent.bugly.crashreport.CrashReport;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* Created by Android Studio.
@@ -24,27 +26,26 @@
*/
public static void printerData(RechargeBean rechargeBean) {
try {
- StringBuffer data = new StringBuffer();
+ List<String> data = new ArrayList<>();
if (rechargeBean != null) {
- data.append("*****************************" + "\n");
- data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n");
- data.append("濮� 鍚嶏細" + rechargeBean.getUserName() + "\n");
- data.append("鍗� 鍙凤細" + rechargeBean.getCardNumber() + "\n");
- data.append("鐢ㄦ埛缂栧彿锛�" + rechargeBean.getUserCode() + "\n");
- data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + " 鍏�" + "\n");
+ data.add("*****************************");
+ data.add("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial());
+ data.add("濮� 鍚嶏細" + rechargeBean.getUserName());
+ data.add("鍗� 鍙凤細" + rechargeBean.getCardNumber());
+ data.add("鐢ㄦ埛缂栧彿锛�" + rechargeBean.getUserCode());
+ data.add("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + " 鍏�");
if (MornyUtil.changeY2F(rechargeBean.getDeductionMorny()) > 0) {
- data.append("琛ユ墸閲戦锛�" + rechargeBean.getDeductionMorny() + " 鍏�" + "\n");
+ data.add("琛ユ墸閲戦锛�" + rechargeBean.getDeductionMorny() + " 鍏�");
}
- data.append("鍏呭�煎悗鍗″唴浣欓锛�" + rechargeBean.getBalance() + " 鍏�" + "\n");
- data.append("鍏呭�肩數閲忥細" + rechargeBean.getRechargeElectric() + " 搴�" + "\n");
- data.append("鍏呭�煎悗鍗″唴鐢甸噺锛�" + rechargeBean.getSurplusElectic() + " 搴�" + "\n");
- data.append("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getRechargeDate(), DateUtil.type2) + "\n\n");
- data.append("*****************************");
+ data.add("鍏呭�煎悗鍗″唴浣欓锛�" + rechargeBean.getBalance() + " 鍏�");
+ data.add("鍏呭�肩數閲忥細" + rechargeBean.getRechargeElectric() + " 搴�");
+ data.add("鍏呭�煎悗鍗″唴鐢甸噺锛�" + rechargeBean.getSurplusElectic() + " 搴�");
+ data.add("鏃� 鏈燂細" + DateUtil.dateToStamp(rechargeBean.getRechargeDate(), DateUtil.type2));
+ data.add("*****************************");
}
float size = 26;
try {
- AidlUtil.getInstance().printText(data.toString(), size, true, false);
-// AidlUtil.getInstance().print3Line();
+ PrintAdater.getInstance().printText(data, size, true, false);
} catch (Exception e) {
e.printStackTrace();
}
--
Gitblit v1.8.0