Commit abaff8ebd9a295232f585993c7994a34ab1c2b77

Authored by wave
1 parent 059986be

删除无用lib

Showing 25 changed files with 0 additions and 1048 deletions
project-wl-kuaidiyuan-android/local.properties deleted 100644 → 0
1   -## This file must *NOT* be checked into Version Control Systems,
2   -# as it contains information specific to your local configuration.
3   -#
4   -# Location of the SDK. This is only used by Gradle.
5   -# For customization when using a Version Control System, please read the
6   -# header note.
7   -#Mon Nov 24 16:30:05 CST 2025
8   -key.password=Dilicd2014
9   -keystore.password=Dilicd2014
10   -sdk.dir=D\:\\Work\\android-sdks
project-wl-kuaidiyuan-android/serialport/.gitignore deleted 100644 → 0
1   -/build
project-wl-kuaidiyuan-android/serialport/build.gradle deleted 100644 → 0
1   -apply plugin: 'com.android.library'
2   -
3   -android {
4   - compileSdkVersion 29
5   - buildToolsVersion "29.0.2"
6   -
7   - namespace 'com.dili.serialport'
8   - defaultConfig {
9   - minSdkVersion 17
10   - targetSdkVersion 29
11   - versionCode 1
12   - versionName "1.0"
13   -
14   - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
15   - consumerProguardFiles 'consumer-rules.pro'
16   - }
17   -
18   - buildTypes {
19   - release {
20   - minifyEnabled false
21   - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
22   - }
23   - }
24   -
25   -}
26   -
27   -repositories {
28   - flatDir {
29   - dirs 'libs'
30   - }
31   -}
32   -
33   -dependencies {
34   - implementation fileTree(dir: 'libs', include: ['*.jar',"*.aar"])
35   -
36   - implementation 'androidx.appcompat:appcompat:1.1.0'
37   - testImplementation 'junit:junit:4.12'
38   - androidTestImplementation 'androidx.test.ext:junit:1.1.1'
39   - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
40   -
41   - //必须添加的依赖
42   - compileOnly 'com.android.support:recyclerview-v7:27.1.0'
43   - compileOnly 'com.android.support:support-v4:27.1.0'
44   - compileOnly 'com.android.support:appcompat-v7:27.1.0'
45   - compileOnly 'com.alibaba:fastjson:1.1.46.android'
46   -
47   - compileOnly fileTree(include: ['uniapp-v8-release.aar','serialportlib-release.aar'], dir: '../simpleDemo/libs')
48   -}
project-wl-kuaidiyuan-android/serialport/consumer-rules.pro deleted 100644 → 0
project-wl-kuaidiyuan-android/serialport/libs/serialportlib-release.aar deleted 100644 → 0
No preview for this file type
project-wl-kuaidiyuan-android/serialport/proguard-rules.pro deleted 100644 → 0
1   -# Add project specific ProGuard rules here.
2   -# You can control the set of applied configuration files using the
3   -# proguardFiles setting in build.gradle.
4   -#
5   -# For more details, see
6   -# http://developer.android.com/guide/developing/tools/proguard.html
7   -
8   -# If your project uses WebView with JS, uncomment the following
9   -# and specify the fully qualified class name to the JavaScript interface
10   -# class:
11   -#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12   -# public *;
13   -#}
14   -
15   -# Uncomment this to preserve the line number information for
16   -# debugging stack traces.
17   -#-keepattributes SourceFile,LineNumberTable
18   -
19   -# If you keep the line number information, uncomment this to
20   -# hide the original source file name.
21   -#-renamesourcefileattribute SourceFile
project-wl-kuaidiyuan-android/serialport/src/main/AndroidManifest.xml deleted 100644 → 0
1   -<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2   - package="com.dili.serialport" />
project-wl-kuaidiyuan-android/serialport/src/main/java/com/dili/serialport/UniSerialPort.java deleted 100644 → 0
1   -package com.dili.serialport;
2   -
3   -import android.widget.Toast;
4   -
5   -import com.alibaba.fastjson.JSONObject;
6   -import com.taobao.weex.annotation.JSMethod;
7   -import com.taobao.weex.bridge.JSCallback;
8   -import com.taobao.weex.common.WXModule;
9   -
10   -import java.io.File;
11   -import java.util.List;
12   -
13   -import me.f1reking.serialportlib.SerialPortHelper;
14   -import me.f1reking.serialportlib.entity.Device;
15   -import me.f1reking.serialportlib.listener.IOpenSerialPortListener;
16   -import me.f1reking.serialportlib.listener.ISerialPortDataListener;
17   -import me.f1reking.serialportlib.listener.Status;
18   -
19   -public class UniSerialPort extends WXModule {
20   -
21   - private SerialPortHelper serialPortHelper = new SerialPortHelper();
22   -
23   - //run ui thread
24   - @JSMethod(uiThread = true)
25   - public void test(){
26   - Toast.makeText(mWXSDKInstance.getContext(),"d fvv",Toast.LENGTH_LONG).show();
27   - }
28   -
29   - //设置串口
30   - //run ui thread
31   - @JSMethod(uiThread = true)
32   - public void setPath(String port){
33   - this.serialPortHelper.setPort(port);
34   - }
35   -
36   - //设置波特率
37   - //run ui thread
38   - @JSMethod(uiThread = true)
39   - public void setBaudRate(Integer baudRate){
40   - this.serialPortHelper.setBaudRate(baudRate);
41   - }
42   -
43   - //设置停止位
44   - //run ui thread
45   - @JSMethod(uiThread = true)
46   - public void setStopBits(Integer stopBits){
47   - this.serialPortHelper.setStopBits(stopBits);
48   - }
49   -
50   - //设置数据位
51   - //run ui thread
52   - @JSMethod(uiThread = true)
53   - public void setDataBits(Integer dataBits){
54   - this.serialPortHelper.setDataBits(dataBits);
55   - }
56   -
57   - //设置检验位
58   - //run ui thread
59   - @JSMethod(uiThread = true)
60   - public void setParity(Integer parity){
61   - this.serialPortHelper.setParity(parity);
62   - }
63   -
64   - //设置流控
65   - //run ui thread
66   - @JSMethod(uiThread = true)
67   - public void setFlowCon(Integer flowCon){
68   - this.serialPortHelper.setFlowCon(flowCon);
69   - }
70   -
71   - //设置标志
72   - //run ui thread
73   - @JSMethod(uiThread = true)
74   - public void setFlags(Integer flags){
75   - this.serialPortHelper.setFlags(flags);
76   - }
77   -
78   - //获取所有串口
79   - //run ui thread
80   - @JSMethod(uiThread = true)
81   - public void getAllDeviceList(JSCallback callback){
82   - List<Device> list = this.serialPortHelper.getAllDevices();
83   - if(callback != null){
84   - callback.invoke(list);
85   - }
86   - }
87   -
88   - //获取所有路径
89   - //run ui thread
90   - @JSMethod(uiThread = true)
91   - public void getAllDevicePath(JSCallback callback){
92   - String[] list = this.serialPortHelper.getAllDeicesPath();
93   - if(callback != null){
94   - callback.invoke(list);
95   - }
96   - }
97   -
98   - //打开串口
99   - //run ui thread
100   - @JSMethod(uiThread = true)
101   - public void open(final JSCallback callback){
102   - serialPortHelper.setIOpenSerialPortListener(new IOpenSerialPortListener(){
103   - public void onSuccess(final File device){
104   - JSONObject data = new JSONObject();
105   - data.put("status",true);
106   - data.put("msg","");
107   - callback.invoke(data);
108   - }
109   - public void onFail(final File device, final Status status){
110   - JSONObject data = new JSONObject();
111   - data.put("status",false);
112   - data.put("msg",status);
113   - callback.invoke(data);
114   - }
115   - });
116   - try{
117   - serialPortHelper.open();
118   - }catch (Exception e){
119   - JSONObject data = new JSONObject();
120   - data.put("status",false);
121   - data.put("msg","NO_READ_WRITE_PERMISSION");
122   - callback.invoke(data);
123   - }
124   - }
125   -
126   - //消息监听,字节
127   - //run ui thread
128   - @JSMethod(uiThread = true)
129   - public void onMessage(final JSCallback callback,final JSCallback sendCallback){
130   - this.serialPortHelper.setISerialPortDataListener(new ISerialPortDataListener() {
131   - @Override
132   - public void onDataReceived(byte[] bytes) {
133   - callback.invokeAndKeepAlive(bytes);
134   - }
135   -
136   - @Override
137   - public void onDataSend(byte[] bytes) {
138   - if(sendCallback != null){
139   - sendCallback.invokeAndKeepAlive(bytes);
140   - }
141   - }
142   - });
143   - }
144   -
145   - //消息监听,十六进制
146   - //run ui thread
147   - @JSMethod(uiThread = true)
148   - public void onMessageHex(final JSCallback callback,final JSCallback sendCallback){
149   - this.serialPortHelper.setISerialPortDataListener(new ISerialPortDataListener() {
150   - @Override
151   - public void onDataReceived(byte[] bytes) {
152   - callback.invokeAndKeepAlive(byteToHex(bytes));
153   - }
154   -
155   - @Override
156   - public void onDataSend(byte[] bytes) {
157   - if(sendCallback != null){
158   - sendCallback.invokeAndKeepAlive(byteToHex(bytes));
159   - }
160   - }
161   - });
162   -
163   - }
164   -
165   - //消息监听,字符串
166   - //run ui thread
167   - @JSMethod(uiThread = true)
168   - public void onMessageASCII(final JSCallback callback,final JSCallback sendCallback){
169   - this.serialPortHelper.setISerialPortDataListener(new ISerialPortDataListener() {
170   - @Override
171   - public void onDataReceived(byte[] bytes) {
172   - callback.invokeAndKeepAlive(new String(bytes));
173   - }
174   -
175   - @Override
176   - public void onDataSend(byte[] bytes) {
177   - if(sendCallback != null){
178   - sendCallback.invokeAndKeepAlive(new String(bytes));
179   - }
180   - }
181   - });
182   - }
183   -
184   - //字节转16进制
185   - //run ui thread
186   - @JSMethod(uiThread = false)
187   - public static String byteToHex(byte[] bytes){
188   - String strHex = "";
189   - StringBuilder sb = new StringBuilder("");
190   - for (int n = 0; n < bytes.length; n++) {
191   - strHex = Integer.toHexString(bytes[n] & 0xFF);
192   - sb.append((strHex.length() == 1) ? "0" + strHex : strHex); // 每个字节由两个字符表示,位数不够,高位补0
193   - }
194   - return sb.toString().trim();
195   - }
196   -
197   - //串口状态
198   - //run ui thread
199   - @JSMethod(uiThread = false)
200   - public boolean isOpen(){
201   - return this.serialPortHelper.isOpen();
202   - }
203   -
204   - //关闭串口
205   - //run ui thread
206   - @JSMethod(uiThread = true)
207   - public void close(){
208   - this.serialPortHelper.close();
209   - }
210   -
211   - //发送字节消息
212   - //run ui thread
213   - @JSMethod(uiThread = true)
214   - public void sendBytes(byte[] bytes){
215   - this.serialPortHelper.sendBytes(bytes);
216   - }
217   -
218   - //发送十六进制消息
219   - //run ui thread
220   - @JSMethod(uiThread = true)
221   - public void sendHex(String hex){
222   - this.serialPortHelper.sendHex(hex);
223   - }
224   -
225   - //发送字符串消息
226   - //run ui thread
227   - @JSMethod(uiThread = true)
228   - public void sendASCII(String string){
229   - this.serialPortHelper.sendTxt(string);
230   - }
231   -
232   -}
project-wl-kuaidiyuan-android/simpleDemo/debug/output-metadata.json deleted 100644 → 0
1   -{
2   - "version": 3,
3   - "artifactType": {
4   - "type": "APK",
5   - "kind": "Directory"
6   - },
7   - "applicationId": "com.diligrp.erp",
8   - "variantName": "debug",
9   - "elements": [
10   - {
11   - "type": "SINGLE",
12   - "filters": [],
13   - "attributes": [],
14   - "versionCode": 100,
15   - "versionName": "1.4",
16   - "outputFile": "simpleDemo-debug.apk"
17   - }
18   - ],
19   - "elementType": "File",
20   - "minSdkVersionForDexing": 21
21   -}
22 0 \ No newline at end of file
project-wl-kuaidiyuan-android/simpleDemo/debug/simpleDemo-debug.apk deleted 100644 → 0
No preview for this file type
project-wl-kuaidiyuan-android/simpleDemo/release/baselineProfiles/0/simpleDemo-release.dm deleted 100644 → 0
No preview for this file type
project-wl-kuaidiyuan-android/simpleDemo/release/baselineProfiles/1/simpleDemo-release.dm deleted 100644 → 0
No preview for this file type
project-wl-kuaidiyuan-android/simpleDemo/release/output-metadata.json deleted 100644 → 0
1   -{
2   - "version": 3,
3   - "artifactType": {
4   - "type": "APK",
5   - "kind": "Directory"
6   - },
7   - "applicationId": "com.diligrp.erp",
8   - "variantName": "release",
9   - "elements": [
10   - {
11   - "type": "SINGLE",
12   - "filters": [],
13   - "attributes": [],
14   - "versionCode": 100,
15   - "versionName": "1.4",
16   - "outputFile": "simpleDemo-release.apk"
17   - }
18   - ],
19   - "elementType": "File",
20   - "baselineProfiles": [
21   - {
22   - "minApi": 28,
23   - "maxApi": 30,
24   - "baselineProfiles": [
25   - "baselineProfiles/1/simpleDemo-release.dm"
26   - ]
27   - },
28   - {
29   - "minApi": 31,
30   - "maxApi": 2147483647,
31   - "baselineProfiles": [
32   - "baselineProfiles/0/simpleDemo-release.dm"
33   - ]
34   - }
35   - ],
36   - "minSdkVersionForDexing": 21
37   -}
38 0 \ No newline at end of file
project-wl-kuaidiyuan-android/simpleDemo/release/simpleDemo-release.apk deleted 100644 → 0
No preview for this file type
project-wl-kuaidiyuan-android/usbPrinter/.gitignore deleted 100644 → 0
1   -/build
2 0 \ No newline at end of file
project-wl-kuaidiyuan-android/usbPrinter/build.gradle deleted 100644 → 0
1   -plugins {
2   - id 'com.android.library'
3   - id 'org.jetbrains.kotlin.android'
4   -}
5   -
6   -android {
7   - namespace 'com.diligrp.printer'
8   - compileSdk 35
9   -
10   - defaultConfig {
11   - minSdk 21
12   -
13   - consumerProguardFiles "consumer-rules.pro"
14   - }
15   -
16   - buildTypes {
17   - debug {
18   - minifyEnabled false
19   - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
20   - }
21   - release {
22   - minifyEnabled false
23   - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
24   - }
25   - }
26   - compileOptions {
27   - sourceCompatibility JavaVersion.VERSION_11
28   - targetCompatibility JavaVersion.VERSION_11
29   - }
30   - kotlinOptions {
31   - jvmTarget = '11'
32   - }
33   -}
34   -
35   -dependencies {
36   -// implementation fileTree(dir: 'libs', include: ['*.jar', "*.aar"])
37   -
38   - implementation 'androidx.core:core-ktx:1.16.0'
39   - compileOnly 'com.google.android.material:material:1.10.0'
40   - compileOnly 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
41   - compileOnly 'androidx.core:core:1.1.0'
42   - compileOnly 'androidx.fragment:fragment:1.1.0'
43   - compileOnly 'androidx.appcompat:appcompat:1.1.0'
44   - compileOnly 'androidx.recyclerview:recyclerview:1.1.0'
45   - compileOnly 'com.alibaba:fastjson:1.2.83'
46   -
47   - compileOnly fileTree(include: ['uniapp-v8-release.aar'], dir: '../simpleDemo/libs')
48   - compileOnly fileTree(include: ['androidprintsdk.jar'], dir: '../simpleDemo/libs')
49   -}
50 0 \ No newline at end of file
project-wl-kuaidiyuan-android/usbPrinter/consumer-rules.pro deleted 100644 → 0
1   --keep public class * extends io.dcloud.feature.uniapp.common.UniModule{*;}
2   --keep class com.diligrp.printer.** {*;}
3 0 \ No newline at end of file
project-wl-kuaidiyuan-android/usbPrinter/libs/androidprintsdk.jar deleted 100644 → 0
No preview for this file type
project-wl-kuaidiyuan-android/usbPrinter/proguard-rules.pro deleted 100644 → 0
1   -# Add project specific ProGuard rules here.
2   -# You can control the set of applied configuration files using the
3   -# proguardFiles setting in build.gradle.
4   -#
5   -# For more details, see
6   -# http://developer.android.com/guide/developing/tools/proguard.html
7   -
8   -# If your project uses WebView with JS, uncomment the following
9   -# and specify the fully qualified class name to the JavaScript interface
10   -# class:
11   -#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12   -# public *;
13   -#}
14   -
15   -# Uncomment this to preserve the line number information for
16   -# debugging stack traces.
17   -#-keepattributes SourceFile,LineNumberTable
18   -
19   -# If you keep the line number information, uncomment this to
20   -# hide the original source file name.
21   -#-renamesourcefileattribute SourceFile
22   --keep public class * extends io.dcloud.feature.uniapp.common.UniModule{*;}
23   --keep class com.diligrp.printer.** {*;}
24 0 \ No newline at end of file
project-wl-kuaidiyuan-android/usbPrinter/src/main/AndroidManifest.xml deleted 100644 → 0
1   -<?xml version="1.0" encoding="utf-8"?>
2   -<manifest xmlns:android="http://schemas.android.com/apk/res/android">
3   -
4   - <uses-permission android:name="android.hardware.usb.UsbAccessory" />
5   - <uses-feature
6   - android:name="android.hardware.usb.host"
7   - android:required="true" />
8   -</manifest>
9 0 \ No newline at end of file
project-wl-kuaidiyuan-android/usbPrinter/src/main/java/com/diligrp/printer/UsbPrinterClient.kt deleted 100644 → 0
1   -package com.diligrp.printer
2   -
3   -import android.util.Log
4   -import com.alibaba.fastjson.JSONObject
5   -
6   -import io.dcloud.feature.uniapp.annotation.UniJSMethod
7   -import io.dcloud.feature.uniapp.bridge.UniJSCallback
8   -import io.dcloud.feature.uniapp.common.UniModule
9   -
10   -class UsbPrinterClient : UniModule() {
11   - private var mPrinter: UsbPrinterUtils? = UsbPrinterUtils()
12   -
13   - @UniJSMethod(uiThread = true)
14   - fun initDevice() {
15   - mPrinter?.initDevice(mUniSDKInstance.context)
16   - }
17   -
18   - @UniJSMethod(uiThread = true)
19   - fun prepare() {
20   - mPrinter?.prepare()
21   - }
22   -
23   - @UniJSMethod(uiThread = true)
24   - fun printTextLeft(str: String?) {
25   - mPrinter?.printTextLeft(str)
26   - }
27   -
28   - @UniJSMethod(uiThread = true)
29   - fun printTextCenter(str: String?) {
30   - Log.d("Test", "printTextCenter $mPrinter ---------------> $str")
31   - mPrinter?.printTextCenter(str)
32   - }
33   -
34   - @UniJSMethod(uiThread = true)
35   - fun printTextRight(str: String?) {
36   - mPrinter?.printTextRight(str)
37   - }
38   -
39   - @UniJSMethod(uiThread = true)
40   - fun printEmptyLine(count: Int) {
41   - mPrinter?.printEmptyLine(count)
42   - }
43   -
44   - @UniJSMethod(uiThread = true)
45   - fun printGapLine() {
46   - mPrinter?.printGapLine()
47   - }
48   -
49   - @UniJSMethod(uiThread = true)
50   - fun onRelease() {
51   - mPrinter?.onRelease()
52   - mPrinter = null
53   - }
54   -}
55 0 \ No newline at end of file
project-wl-kuaidiyuan-android/usbPrinter/src/main/java/com/diligrp/printer/UsbPrinterUtils.kt deleted 100644 → 0
1   -package com.diligrp.printer
2   -
3   -import android.annotation.SuppressLint
4   -import android.content.Context
5   -import android.hardware.usb.UsbManager
6   -import android.os.Handler
7   -import android.os.Message
8   -import android.util.Log
9   -import android.widget.Toast
10   -import com.android.print.sdk.PrinterConstants
11   -import com.android.print.sdk.PrinterInstance
12   -import com.diligrp.printer.utils.IPrinterOpertion
13   -import com.diligrp.printer.utils.UsbOperation
14   -
15   -/**
16   - * UsbPrinterUtils
17   - *
18   - * @Description:
19   - * @Author:
20   - * @CreateDate: 2025/8/11 12:38
21   - */
22   -class UsbPrinterUtils {
23   - private var mPrinterOpertion: IPrinterOpertion? = null
24   - private var mPrinter: PrinterInstance? = null
25   - private var isConnected = false //是否已经建立了连接
26   - private var mContext: Context? = null
27   -
28   - companion object {
29   - const val LEFT = 0
30   - const val RIGHT = 2
31   - const val CENTER = 1
32   -
33   - const val LINE_BREAK = "\n"
34   - const val GAP_LINE = "--------------------------------${LINE_BREAK}"
35   -
36   - @SuppressLint("StaticFieldLeak")
37   - private var _instance: UsbPrinterUtils? = null
38   -
39   - fun getInstance(): UsbPrinterUtils {
40   - if (_instance == null) {
41   - _instance = UsbPrinterUtils()
42   - }
43   -
44   - return _instance!!
45   - }
46   - }
47   -
48   - fun initDevice(context: Context?) {
49   - if (context == null) {
50   - return
51   - }
52   - mContext = context
53   - mPrinterOpertion = UsbOperation(mContext, mHandler)
54   - val manager = mContext?.getSystemService(Context.USB_SERVICE) as UsbManager
55   - mPrinterOpertion!!.usbAutoConn(manager);
56   - }
57   -
58   - fun prepare() {
59   - if (mPrinter != null && isConnected) {
60   - mPrinter?.init()
61   - }
62   - }
63   -
64   - fun printTextLeft(str: String?) {
65   - if (mPrinter != null && isConnected && !str.isNullOrEmpty()) {
66   - mPrinter?.setPrinter(PrinterConstants.Command.ALIGN, LEFT)
67   - mPrinter?.printText(str)
68   - }
69   - }
70   -
71   - fun printTextCenter(str: String?) {
72   - Log.d("Test", "printTextCenter $mPrinter ------- $isConnected --------> $str")
73   - if (mPrinter != null && isConnected && !str.isNullOrEmpty()) {
74   - mPrinter?.setPrinter(PrinterConstants.Command.ALIGN, CENTER)
75   - mPrinter?.printText(str)
76   - }
77   - }
78   -
79   - fun printTextRight(str: String?) {
80   - if (mPrinter != null && isConnected && !str.isNullOrEmpty()) {
81   - mPrinter?.setPrinter(PrinterConstants.Command.ALIGN, RIGHT)
82   - mPrinter?.printText(str)
83   - }
84   - }
85   -
86   - fun printEmptyLine(count: Int) {
87   - if (mPrinter != null && isConnected) {
88   - mPrinter?.setPrinter(PrinterConstants.Command.ALIGN, LEFT)
89   - mPrinter?.setPrinter(PrinterConstants.Command.PRINT_AND_WAKE_PAPER_BY_LINE, count)
90   - }
91   - }
92   -
93   - fun printGapLine() {
94   - if (mPrinter != null && isConnected) {
95   - mPrinter?.setPrinter(PrinterConstants.Command.ALIGN, LEFT)
96   - mPrinter?.printText(GAP_LINE)
97   - }
98   - }
99   -
100   - fun onRelease() {
101   - mHandler.removeCallbacksAndMessages(null)
102   - isConnected = false
103   - mPrinterOpertion?.close()
104   - mPrinterOpertion = null
105   - mPrinter = null
106   - mContext = null
107   - _instance = null
108   - }
109   -
110   - //用于接受连接状态消息的 Handler
111   - private val mHandler: Handler by lazy {
112   - @SuppressLint("HandlerLeak")
113   - object : Handler() {
114   -
115   - @SuppressLint("HandlerLeak")
116   - override fun handleMessage(msg: Message) {
117   - super.handleMessage(msg)
118   - when (msg.what) {
119   - PrinterConstants.Connect.SUCCESS -> {
120   - isConnected = true;
121   - mPrinter = mPrinterOpertion?.getPrinter()
122   - }
123   -
124   - PrinterConstants.Connect.FAILED -> {
125   - showToast("打印机连接失败")
126   - }
127   -
128   - PrinterConstants.Connect.CLOSED -> {
129   - isConnected = false;
130   -// showToast("打印机已关闭")
131   - }
132   -
133   - PrinterConstants.Connect.NODEVICE -> {
134   - isConnected = false;
135   - showToast("未检测到打印机")
136   - }
137   - }
138   - }
139   - }
140   - }
141   -
142   - private fun showToast(msg: String?) {
143   - if (msg.isNullOrEmpty() || mContext == null) {
144   - return
145   - }
146   - Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show()
147   - }
148   -}
149 0 \ No newline at end of file
project-wl-kuaidiyuan-android/usbPrinter/src/main/java/com/diligrp/printer/utils/IPrinterOpertion.java deleted 100644 → 0
1   -package com.diligrp.printer.utils;
2   -
3   -
4   -import android.content.Context;
5   -import android.content.Intent;
6   -import android.hardware.usb.UsbManager;
7   -import android.os.Handler;
8   -
9   -import com.android.print.sdk.PrinterInstance;
10   -
11   -
12   -public interface IPrinterOpertion {
13   - public void open(Intent data);
14   -
15   - public void close();
16   -
17   - public void chooseDevice();
18   -
19   - public PrinterInstance getPrinter();
20   -
21   - public void usbAutoConn(UsbManager manager);
22   -
23   - public void btAutoConn(Context context, Handler mHandler);
24   -
25   -
26   -}
project-wl-kuaidiyuan-android/usbPrinter/src/main/java/com/diligrp/printer/utils/USBPortService.java deleted 100644 → 0
1   -package com.diligrp.printer.utils;
2   -
3   -import android.annotation.SuppressLint;
4   -import android.annotation.TargetApi;
5   -import android.app.PendingIntent;
6   -import android.content.BroadcastReceiver;
7   -import android.content.Context;
8   -import android.content.Intent;
9   -import android.content.IntentFilter;
10   -import android.hardware.usb.UsbConstants;
11   -import android.hardware.usb.UsbDevice;
12   -import android.hardware.usb.UsbDeviceConnection;
13   -import android.hardware.usb.UsbEndpoint;
14   -import android.hardware.usb.UsbInterface;
15   -import android.hardware.usb.UsbManager;
16   -import android.os.Handler;
17   -import android.util.Log;
18   -
19   -import com.android.print.sdk.IPrinterPort;
20   -import com.android.print.sdk.util.Utils;
21   -
22   -import java.io.ByteArrayInputStream;
23   -import java.io.OutputStream;
24   -
25   -@TargetApi(12)
26   -public class USBPortService implements IPrinterPort {
27   - private static final String TAG = "USBPrinter";
28   - private UsbManager mUsbManager;
29   - private UsbDevice mUsbDevice;
30   - private UsbDeviceConnection connection;
31   - private UsbInterface usbInterface;
32   - private UsbEndpoint inEndpoint;
33   - private UsbEndpoint outEndpoint;
34   - private static OutputStream outputStream;
35   - private boolean isOldUSB;
36   - private Handler mHandler;
37   - private int mState;
38   - private Context mContext;
39   - private static final String ACTION_USB_PERMISSION = "com.android.usb.USB_PERMISSION";
40   - private ConnectThread mConnectThread;
41   - private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
42   - public void onReceive(Context context, Intent intent) {
43   - String action = intent.getAction();
44   - Log.w("USBPrinter", "receiver action: " + action);
45   - if ("com.android.usb.USB_PERMISSION".equals(action)) {
46   - synchronized (this) {
47   - USBPortService.this.mContext.unregisterReceiver(USBPortService.this.mUsbReceiver);
48   - UsbDevice device = (UsbDevice) intent.getParcelableExtra("device");
49   - if (intent.getBooleanExtra("permission", false) && USBPortService.this.mUsbDevice.equals(device)) {
50   - USBPortService.this.connect();
51   - } else {
52   - USBPortService.this.setState(102);
53   - Log.e("USBPrinter", "permission denied for device " + device);
54   - }
55   - }
56   - }
57   -
58   - }
59   - };
60   -
61   - @SuppressLint("WrongConstant")
62   - public USBPortService(Context context, UsbDevice usbDevice, Handler handler) {
63   - this.mContext = context;
64   - this.mUsbManager = (UsbManager) this.mContext.getSystemService("usb");
65   - this.mUsbDevice = usbDevice;
66   - this.mHandler = handler;
67   - this.mState = 103;
68   - }
69   -
70   - public void open() {
71   - Log.d("USBPrinter", "connect to: " + this.mUsbDevice.getDeviceName());
72   - if (this.mState != 103) {
73   - this.close();
74   - }
75   -
76   - if (isUsbPrinter(this.mUsbDevice)) {
77   - if (this.mUsbManager.hasPermission(this.mUsbDevice)) {
78   - this.connect();
79   - } else {
80   - PendingIntent pendingIntent = PendingIntent.getBroadcast(this.mContext, 0, new Intent("com.android.usb.USB_PERMISSION"), 0);
81   - IntentFilter filter = new IntentFilter("com.android.usb.USB_PERMISSION");
82   - this.mContext.registerReceiver(this.mUsbReceiver, filter);
83   - this.mUsbManager.requestPermission(this.mUsbDevice, pendingIntent);
84   - }
85   - } else {
86   - this.setState(102);
87   - }
88   -
89   - }
90   -
91   - private void connect() {
92   - this.mConnectThread = new ConnectThread((ConnectThread) null);
93   - this.mConnectThread.start();
94   - }
95   -
96   - public void close() {
97   - Utils.Log("USBPrinter", "close()");
98   - if (this.connection != null) {
99   - this.connection.releaseInterface(this.usbInterface);
100   - this.connection.close();
101   - this.connection = null;
102   - }
103   -
104   - this.mConnectThread = null;
105   - if (this.mState != 102) {
106   - this.setState(103);
107   - }
108   -
109   - }
110   -
111   - public int write(byte[] data) {
112   -
113   - if (this.connection == null) {
114   - return -1;
115   - } else if (data.length < 64) {
116   - return this.connection.bulkTransfer(this.outEndpoint, data, data.length, 60000);
117   - } else {
118   - int sentLength = 0;
119   -
120   - try {
121   - byte[] buff = new byte[64];
122   - ByteArrayInputStream bis = new ByteArrayInputStream(data);
123   -
124   - byte[] realData;
125   - int length;
126   - for (sentLength = 0; (length = bis.read(buff)) != -1; sentLength += this.connection.bulkTransfer(this.outEndpoint, realData, realData.length, 60000)) {
127   - realData = new byte[length];
128   - System.arraycopy(buff, 0, realData, 0, length);
129   - }
130   -
131   - bis.close();
132   - } catch (Exception var7) {
133   - }
134   -
135   - return sentLength;
136   - }
137   - }
138   -
139   - public byte[] read() {
140   - if (this.connection != null) {
141   - byte[] retData = new byte[64];
142   - int readLen = this.connection.bulkTransfer(this.inEndpoint, retData, retData.length, 60000);
143   - Log.w("USBPrinter", "read length:" + readLen);
144   - if (readLen > 0) {
145   - if (readLen == 64) {
146   - return retData;
147   - }
148   -
149   - byte[] realData = new byte[readLen];
150   - System.arraycopy(retData, 0, realData, 0, readLen);
151   - return realData;
152   - }
153   - }
154   -
155   - return null;
156   - }
157   -
158   - public boolean isOldUSB() {
159   - return this.isOldUSB;
160   - }
161   -
162   - public static boolean isUsbPrinter(UsbDevice device) {
163   - if (device == null) {
164   - return false;
165   - }
166   - if (device.getInterfaceCount() == 0) {
167   - return false;
168   - }
169   -
170   - for (int i = 0; i < device.getInterfaceCount(); i++) {
171   - UsbInterface usbInterface = device.getInterface(i);
172   -
173   - if (usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_PRINTER) {
174   - Utils.Log("USBPrinter", "device name: " + device.getDeviceName());
175   - Utils.Log("USBPrinter", "vid:" + device.getVendorId() + " pid:" + device.getProductId());
176   - return true;
177   - }
178   - }
179   - return false;
180   - }
181   -
182   - private synchronized void setState(int state) {
183   - Utils.Log("USBPrinter", "setState() " + this.mState + " -> " + state);
184   - if (this.mState != state) {
185   - this.mState = state;
186   - if (this.mHandler != null) {
187   - this.mHandler.obtainMessage(this.mState).sendToTarget();
188   - }
189   - }
190   -
191   - }
192   -
193   - public int getState() {
194   - return this.mState;
195   - }
196   -
197   - private class ConnectThread extends Thread {
198   - private ConnectThread(ConnectThread connectThread) {
199   - }
200   -
201   - public void run() {
202   - boolean hasError = true;
203   - if (USBPortService.this.mUsbManager.hasPermission(USBPortService.this.mUsbDevice)) {
204   - try {
205   - USBPortService.this.usbInterface = USBPortService.this.mUsbDevice.getInterface(0);
206   -
207   - for (int i = 0; i < USBPortService.this.usbInterface.getEndpointCount(); ++i) {
208   - UsbEndpoint ep = USBPortService.this.usbInterface.getEndpoint(i);
209   - if (ep.getType() == 2) {
210   - if (ep.getDirection() == 0) {
211   - USBPortService.this.outEndpoint = ep;
212   - } else {
213   - USBPortService.this.inEndpoint = ep;
214   - }
215   - }
216   - }
217   -
218   - USBPortService.this.connection = USBPortService.this.mUsbManager.openDevice(USBPortService.this.mUsbDevice);
219   - if (USBPortService.this.connection != null && USBPortService.this.connection.claimInterface(USBPortService.this.usbInterface, true)) {
220   - hasError = false;
221   - }
222   - } catch (Exception var5) {
223   - var5.printStackTrace();
224   - }
225   - }
226   -
227   - synchronized (this) {
228   - USBPortService.this.mConnectThread = null;
229   - }
230   -
231   - if (hasError) {
232   - USBPortService.this.setState(102);
233   - USBPortService.this.close();
234   - } else {
235   - USBPortService.this.setState(101);
236   - }
237   -
238   - }
239   - }
240   -}
241   -
project-wl-kuaidiyuan-android/usbPrinter/src/main/java/com/diligrp/printer/utils/UsbOperation.java deleted 100644 → 0
1   -package com.diligrp.printer.utils;
2   -
3   -import android.annotation.TargetApi;
4   -import android.content.BroadcastReceiver;
5   -import android.content.Context;
6   -import android.content.Intent;
7   -import android.content.IntentFilter;
8   -import android.hardware.usb.UsbDevice;
9   -import android.hardware.usb.UsbManager;
10   -import android.os.Build;
11   -import android.os.Handler;
12   -import android.util.Log;
13   -import android.widget.Toast;
14   -
15   -import com.android.print.sdk.PrinterInstance;
16   -
17   -import java.util.ArrayList;
18   -import java.util.HashMap;
19   -import java.util.List;
20   -
21   -@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
22   -public class UsbOperation implements IPrinterOpertion {
23   - private final static String TAG = "UsbOpertion";
24   - private Context mContext;
25   - private Handler mHandler;
26   - private PrinterInstance mPrinter;
27   - private UsbDevice mDevice;
28   - private boolean hasRegDisconnectReceiver;
29   - private IntentFilter filter;
30   -
31   - private List<UsbDevice> deviceList;
32   -
33   - public UsbOperation(Context context, Handler handler) {
34   - mContext = context;
35   - mHandler = handler;
36   - hasRegDisconnectReceiver = false;
37   -
38   - filter = new IntentFilter();
39   - filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
40   - filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
41   - }
42   -
43   - public void open(Intent data) {
44   - mDevice = data.getParcelableExtra(UsbManager.EXTRA_DEVICE);
45   - mPrinter = new PrinterInstance(mContext, mDevice, mHandler);
46   - // default is gbk...
47   - // mPrinter.setEncoding("gbk");
48   - mPrinter.openConnection();
49   - }
50   -
51   - public void close() {
52   - if (mPrinter != null) {
53   - mPrinter.closeConnection();
54   - mPrinter = null;
55   - }
56   - if (hasRegDisconnectReceiver) {
57   - mContext.unregisterReceiver(myReceiver);
58   - hasRegDisconnectReceiver = false;
59   - }
60   - }
61   -
62   - private final BroadcastReceiver myReceiver = new BroadcastReceiver() {
63   - public void onReceive(Context context, Intent intent) {
64   - String action = intent.getAction();
65   - Log.i(TAG, "receiver is: " + action);
66   - if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {
67   - // xxxxx
68   - } else if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) {
69   - UsbDevice device = (UsbDevice) intent
70   - .getParcelableExtra(UsbManager.EXTRA_DEVICE);
71   - if (device != null && mPrinter != null
72   - && mPrinter.isConnected() && device.equals(mDevice)) {
73   - close();
74   - }
75   - }
76   - }
77   - };
78   -
79   - public PrinterInstance getPrinter() {
80   - if (mPrinter != null && mPrinter.isConnected()) {
81   - if (!hasRegDisconnectReceiver) {
82   - mContext.registerReceiver(myReceiver, filter);
83   - hasRegDisconnectReceiver = true;
84   - }
85   - }
86   - return mPrinter;
87   - }
88   -
89   - @Override
90   - public void chooseDevice() {
91   -
92   - }
93   -
94   - public void usbAutoConn(UsbManager manager) {
95   -
96   - doDiscovery(manager);
97   -
98   - if (!deviceList.isEmpty()) {
99   - mDevice = deviceList.get(0);
100   - }
101   - if (mDevice != null) {
102   - mPrinter = new PrinterInstance(mContext, mDevice, mHandler);
103   - mPrinter.openConnection();
104   - } else {
105   - Toast.makeText(mContext, "opened failed!", Toast.LENGTH_SHORT).show();
106   - }
107   - }
108   -
109   - private void doDiscovery(UsbManager manager) {
110   - HashMap<String, UsbDevice> devices = manager.getDeviceList();
111   - deviceList = new ArrayList<UsbDevice>();
112   - for (UsbDevice device : devices.values()) {
113   - if (USBPortService.isUsbPrinter(device)) {
114   - deviceList.add(device);
115   - }
116   - }
117   - }
118   -
119   - @Override
120   - public void btAutoConn(Context context, Handler mHandler) {
121   - }
122   -
123   -
124   -}